Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] znikaj±ca zmienna
Forum PHP.pl > Forum > Przedszkole
robroy
Witam wszystkich poniżej zamieszczam kod w którym w bocznym komentarzu zaznaczone jest miejsce w którym ginie mi warto¶ć zmiennej.
Wywołanie parę linijek wyżej tych zmiennych zwraca dobre warto¶ci (miejsce również zaznaczone komentarzem).

  1. <?php
  2. if (($_GET['mode']=="") )
  3. {
  4. /*$user = $_SESSION['login'];
  5.   $sql = "SELECT * FROM users WHERE login = '$user'";
  6.   $sql = mysql_query($sql);
  7.   $wyniki = mysql_fetch_assoc($sql);
  8.   $email = $wyniki['email'];
  9.   $passwordfromsql = $wyniki['password']; */
  10.  
  11. if (isset ($_POST['wyslano']) )
  12. {
  13. $emailForm = $_POST['newemail'];
  14. $oldpasswdForm = $_POST['oldpasswd'];
  15. $md5oldpasswdForm = sha1(md5(mysql_real_escape_string(trim($oldpasswdForm))));
  16. $password = stripslashes($_POST['newpasswd']);
  17. $password2 = stripslashes($_POST['newpasswd2']);
  18.  
  19. echo 'Hasło 1: '.$password.'<br />'; // Tu jest OK
  20. echo 'Hasło 2: '.$password2.'<br />'; // Tu jest OK
  21. if ($password!=$password2)
  22. {
  23. echo "S± różne<br />";
  24. }
  25. else echo "S± takie same<br /><br />";
  26.  
  27. if ( $emailForm =="" OR $oldpasswdForm=="" OR $password=="" OR $password2="" )
  28. {
  29. if ($emailForm =="")
  30. {
  31. $error[] = "Pole email nie może być puste";
  32. }
  33.  
  34. if ($oldpasswdForm=="")
  35. {
  36. $error[] = "Pole hasło nie może być puste";
  37. }
  38.  
  39. if ($password=="")
  40. {
  41. $error[] = "Pole nowe hasło nie może być puste";
  42. }
  43.  
  44. if ($password2=="")
  45. {
  46. $error[] = "Pole powtórz nowe hasło nie może być puste";
  47. }
  48. }
  49.  
  50. echo '2Hasło 1: '.$password.'<br />'; // Tu jest OK
  51. echo '2Hasło 2: '.$password2.'<br />'; // << W TYM MIEJSCU TA ZMIENNA SIE GUBI nie ma jej tym samym walidacja na dole pokazuje pierdoły bo $password2 jest puste !!
  52. if ($password!=$password2)
  53. {
  54. echo "2S± różne<br />";
  55. }
  56. else echo "2S± takie same<br />";
  57.  
  58.  
  59. if (($password!=$password2) OR validEmail($emailForm) OR validpassword($password) OR tooshort($password) OR toolong($newpasswdForm) OR toolong($emailForm) OR ($md5oldpasswdForm != $passwordfromsql)) // Sprawdza po kolei poprawno¶ć wprowadzonych danych i ewentualnie wyrzuca bł±d prosz±c usera o poprawienie danych
  60. {
  61. if ($password!=$password2) //Sprawdzanie czy hasło powtórzono poprawnie
  62. {
  63. $error[] = "Podane hasła nie zgadzaj± się między sob±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±";
  64. }
  65.  
  66. if (validEmail($emailForm)) //Sprawdzanie czy mail ma poprawny format
  67. {
  68. $error[] = "Nie poprawy adres e-mail prawidłowy format to kowalski@przyklad.pl";
  69. }
  70.  
  71. if (toolong($emailForm))
  72. {
  73. $error[] = "Wpisany adres e-mail jest za długi, maksymalna ilo¶ć znaków to 40";
  74. }
  75.  
  76.  
  77. if (validpassword($password))
  78. {
  79. $error[] = "Wpisane hasło musi posiadać conajmniej jedn± mał± oraz duż± literę oraz cyfrę";
  80. }
  81.  
  82. if (tooshort($password))
  83. {
  84. $error[] = "Hasło jest za krótkie musi składać się z conajmniej 4 znaków";
  85. }
  86.  
  87. if (toolong($password))
  88. {
  89. $error[] = "Hasło jest za długie może się składać z maksymalnie 40 znaków";
  90. }
  91.  
  92. if ($md5oldpasswdForm != $passwordfromsql)
  93. {
  94. $error[] = "Podane hasło do profilu jest nieprawidłowe";
  95. }
  96. }
  97.  
  98. else
  99. {
  100. $newpasswd = sha1(md5(mysql_real_escape_string(trim($newpasswdForm))));
  101. $update = "UPDATE `users` SET `email` = '$emailForm', `password` = '$newpasswd' WHERE `login` ='$user'";
  102. mysql_query($update) or die("Nie wpisano danych ".mysql_error());
  103. $noerror = "Dane zaktualizowane";
  104. }
  105.  
  106. }
  107. ?>
  108. <br />
  109. <div id="content">
  110. <div class="formregister">
  111. <p>Witaj <span class="user"><? echo $user; ?></span>, znajdujesz się w panelu swojego profilu, możesz zaktualizować tutaj swój adres e-mail jak również zmienić hasło otrzymane po resecie</p>
  112. <br />
  113. <form action="" method="post">
  114. <table>
  115. <tr>
  116. <td>E-mail: </td>
  117. <td><input type="text" name="newemail" value="<?echo $email;?>" /></td>
  118. </tr>
  119. <tr>
  120. <td>Hasło :</td>
  121. <td><input type="password" name="oldpasswd" /></td>
  122. </tr>
  123. <tr>
  124. <td>Nowe hasło :</td>
  125. <td><input type="password" name="newpasswd" /></td>
  126. </tr>
  127. <tr>
  128. <td>Powtórz hasło: </td>
  129. <td><input type="password" name="newpasswd2" /></td>
  130. </tr>
  131. </table>
  132. <p>
  133. <input type="hidden" name="wyslano" />
  134. <input type="submit" value="Aktualizuj" />
  135. </p>
  136. </form>
  137. </div>
  138. </div>
  139. <?php
  140. if(count($error))
  141. {
  142. foreach ($error as $value ) // Pętla tablicowa wypisuj±ca blędy. Błędnych ale nie pustych wpisów w pola
  143. {
  144. echo $value."<br />";
  145. }
  146. }
  147.  
  148. if(count($noerror))
  149. {
  150. echo $noerror;
  151. }
  152. }
  153. ?>
sadistic_son
Spójrz na 27. linijkę swojego kodu:
  1. if ( $emailForm =="" OR $oldpasswdForm=="" OR $password=="" OR $password2="" )
Czego¶ brakuje? A może znaku równo¶ci w pewnym momencie? dry.gif
robroy
Pora zrobiła swoje, moje niedopatrzenie. Znak że należy spocz±ć w łóżku smile.gif Oczywi¶cie działa
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.