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).
<?php
if (($_GET['mode']=="") )
{
/*$user = $_SESSION['login'];
$sql = "SELECT * FROM users WHERE login = '$user'";
$sql = mysql_query($sql);
$wyniki = mysql_fetch_assoc($sql);
$email = $wyniki['email'];
$passwordfromsql = $wyniki['password']; */
if (isset ($_POST['wyslano']) ) {
$emailForm = $_POST['newemail'];
$oldpasswdForm = $_POST['oldpasswd'];
echo 'Hasło 1: '.$password.'<br />'; // Tu jest OK echo 'Hasło 2: '.$password2.'<br />'; // Tu jest OK if ($password!=$password2)
{
}
else echo "S± takie same<br /><br />";
if ( $emailForm =="" OR $oldpasswdForm=="" OR $password=="" OR $password2="" )
{
if ($emailForm =="")
{
$error[] = "Pole email nie może być puste";
}
if ($oldpasswdForm=="")
{
$error[] = "Pole hasło nie może być puste";
}
if ($password=="")
{
$error[] = "Pole nowe hasło nie może być puste";
}
if ($password2=="")
{
$error[] = "Pole powtórz nowe hasło nie może być puste";
}
}
echo '2Hasło 1: '.$password.'<br />'; // Tu jest OK 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 !! if ($password!=$password2)
{
}
else echo "2S± takie same<br />";
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
{
if ($password!=$password2) //Sprawdzanie czy hasło powtórzono poprawnie
{
$error[] = "Podane hasła nie zgadzaj± się między sob±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±";
}
if (validEmail($emailForm)) //Sprawdzanie czy mail ma poprawny format
{
$error[] = "Nie poprawy adres e-mail prawidłowy format to kowalski@przyklad.pl";
}
if (toolong($emailForm))
{
$error[] = "Wpisany adres e-mail jest za długi, maksymalna ilo¶ć znaków to 40";
}
if (validpassword($password))
{
$error[] = "Wpisane hasło musi posiadać conajmniej jedn± mał± oraz duż± literę oraz cyfrę";
}
if (tooshort($password))
{
$error[] = "Hasło jest za krótkie musi składać się z conajmniej 4 znaków";
}
if (toolong($password))
{
$error[] = "Hasło jest za długie może się składać z maksymalnie 40 znaków";
}
if ($md5oldpasswdForm != $passwordfromsql)
{
$error[] = "Podane hasło do profilu jest nieprawidłowe";
}
}
else
{
$update = "UPDATE `users` SET `email` = '$emailForm', `password` = '$newpasswd' WHERE `login` ='$user'";
$noerror = "Dane zaktualizowane";
}
}
?>
<br />
<div id="content">
<div class="formregister">
<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>
<br />
<form action="" method="post">
<table>
<tr>
<td>E-mail: </td>
<td><input type="text" name="newemail" value="
<?echo $email;?>" /></td>
</tr>
<tr>
<td>Hasło :</td>
<td><input type="password" name="oldpasswd" /></td>
</tr>
<tr>
<td>Nowe hasło :</td>
<td><input type="password" name="newpasswd" /></td>
</tr>
<tr>
<td>Powtórz hasło: </td>
<td><input type="password" name="newpasswd2" /></td>
</tr>
</table>
<p>
<input type="hidden" name="wyslano" />
<input type="submit" value="Aktualizuj" />
</p>
</form>
</div>
</div>
<?php
{
foreach ($error as $value ) // Pętla tablicowa wypisuj±ca blędy. Błędnych ale nie pustych wpisów w pola
{
}
}
{
}
}
?>