Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem = submit + if(isset($submit)
Forum PHP.pl > Forum > Gotowe rozwiązania > Skrypty forum
CooCer
witam, napisalem prosty skrypt logujacy do pewnego systemy bazodanowego.
po wpisaniu loginu i hasla powinien wywolac strone zapisana w funkcji (sa 3 czyli 3 rodzaje stron). napotkalem jednak na problem z prostym submit i isset, jak mozecie to zerknijcie na kod co tam jest nie tak sad.gif

  1. <html>
  2. <head>
  3. <title>Strona Glowna</Title>
  4. <body>Delphi Krakow Centrum Techniczne
  5.  
  6.  
  7.  
  8.  
  9. <?php
  10. //polaczenie do bazy
  11. function connect($host,$user,$pass){
  12.     if(!$db = mysql_connect(&#092;"$host\",$user)):
  13.       print(&#092;"<h1>nie mozna polaczyc sie z baza danych!</h1>n\");
  14.     else:
  15.       print(&#092;"<h2>polaczony z baza delphi na: \");print $host;
  16.       mysql_select_db(&#092;"delphi\",$db);
  17.     endif;
  18. };
  19. //strona tytulowa
  20. function log_in(){
  21.     print(&#092;"n <h2>Logowanie do systemu Delphi </h2>n\");
  22.     ?>
  23.     <form action=\"glowna.php\" method =\"POST\">
  24.     <h3>Prosze sie zalogowac</h3>
  25.     Uzytkownik: <input type=\"text\" name=\"user_name\">
  26.     <br>Haslo:  <input type=\"password\" name=\"password\">   
  27.     <input type=\"submit\" name=\"submit\"  value=\"loguj!\">
  28.     </form>
  29.     <?
  30. };
  31. //strona 1
  32. function admin(){
  33.     print(&#092;"udalo sie!\");
  34. };
  35. //strona 2
  36. function inz(){
  37.     print(&#092;"nie udalo sie!\");
  38. };
  39. // strona 3
  40. function tech(){};
  41.  
  42.  
  43. connect(&#092;"localhost\",\"user\",\"\");
  44. if(isset($submit)){
  45.       print(&#092;"            nacisniete submit\");
  46.       admin();
  47. }
  48.  
  49. else{
  50.       log_in();
  51.       inz();
  52. }
  53.  
  54.  
  55. ?>
  56. </body>
  57. </head>
  58. </html>



narazie funkcje sa wykozystane to wypisania na jakim etapie jestem pozniej beda to poprostu strony do uzyskiwania i wysylania danych do bazy.

dodam ze caly kod do logowania dopiero bedzie napisany, narazie mam problem z przejsciem if'a z isset sad.gif
plewa
I prawidłowo kod sie wykonuje. Bo nie istnieje zmienna $submit. Nie zadeklarowałeś jej. Czy chodziło ci o to że bedzie przechowywać czy użytkownik kliknął na przycisk?? A to wg mnie popr kod:

  1. <html>
  2. <head>
  3. <title>Strona Glowna</Title>
  4. <body>Delphi Krakow Centrum Techniczne
  5.  
  6.  
  7.  
  8.  
  9. <?php
  10. //polaczenie do bazy
  11. function connect($host,$user,$pass){
  12. if(!$db = mysql_connect(&#092;"$host\",$user)):
  13. print(&#092;"<h1>nie mozna polaczyc sie z baza danych!</h1>n\");
  14. else:
  15. print(&#092;"<h2>polaczony z baza delphi na: \");print $host;
  16. mysql_select_db(&#092;"delphi\",$db);
  17. endif;
  18. };
  19. //strona tytulowa
  20. function log_in(){
  21. print(&#092;"n <h2>Logowanie do systemu Delphi </h2>n\");
  22.  
  23. printf&#092;"<form action=\"glowna.php\" method =\"POST\">\";
  24.  printf&#092;"<h3>Prosze sie zalogowac</h3>\";
  25. printf&#092;"Uzytkownik: <input type=\"text\" name=\"user_name\">\";
  26. printf&#092;"<br>Haslo: <input type=\"password\" name=\"password\">\";  
  27. <input type=&#092;"submit\" name=\"submit\" value=\"loguj!\">
  28. </form>
  29.  
  30. };
  31. //strona 1
  32. function admin(){
  33. print(&#092;"udalo sie!\");
  34. };
  35. //strona 2
  36. function inz(){
  37. print(&#092;"nie udalo sie!\");
  38. };
  39. // strona 3
  40. function tech(){};
  41.  
  42.  
  43. connect(&#092;"localhost\",\"user\",\"\");
  44. if(isset($submit)){
  45. print(&#092;" nacisniete submit\");
  46. admin();
  47. }
  48.  
  49. else{
  50. log_in();
  51. inz();
  52. }
  53.  
  54.  
  55. ?>
  56. </body>
  57. </head>
  58. </html>

A i jeszcze jedno. Nie możesz sprawdzać w tym samym skrypcie czy zmienna, która będzie wysyłana istnieje, bo (chyba) zawsze zwróci ci false.
Funkcję isset() użyj w pliku, który odbiera "głowna.php". smile.gif
CooCer
to znaczy ze mam zrobic index.html w ktorym odwoluje sie do tego php? bo sie pogubilem smile.gif wlasnie zaczalem php i jeszcze za bardzo na to patrze jak na jezyk c smile.gif powalcze i zobacze dzieki za pomoc aaa i wyskoczyl mi blad w lini 23 zaraz zobacze co i jak czepia sie chyba printf
Vertical
Po pierwsze:
  1. <?php
  2. if(isset($_POST['submit'])){
  3. print(&#092;" nacisniete submit\");
  4. admin();
  5. }
  6.  
  7. else{
  8. log_in();
  9. inz();
  10. }
  11. ?>

Po drugie:
Cytat
Nie możesz sprawdzać w tym samym skrypcie czy zmienna, która będzie wysyłana istnieje, bo (chyba) zawsze zwróci ci false.

Da się sprawdzić w tym samym skrypcie, czy zmienna istnieje. Chociażby przez wywołanie w nim warunku "if(isset(cośtam));". Nie trzeba tworzyć nowego pliku.
CooCer
no ja wlasnie myslalem podobnie... mialem isset ale nie dziala... zainstaluje serv i apacha jeszcze raz i zobacze... moze cos bylo poknocone
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.