If , nu se respecta conditia

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator

jedymaster
PHPRomania Supporter
Mesaje: 8
Membru din: Mie Ian 19, 2011 4:35 pm

If , nu se respecta conditia

Mesajde jedymaster » Mie Ian 19, 2011 4:44 pm

Salut
Ma intalnesc foarte des cu problema asta
La "if", nu se respecta conditia si presupun ca este din cauza acoladelor.
Acum le-am sters pe toate, si ar trebui sa ruleze treptat, din cond in cond, dar nu o face
Scriptul este:

$query = "SELECT username FROM user_list";
$result3 = mysql_query($query) or die(mysql_error());
if($row3 = mysql_fetch_array($result3))
if($_SESSION['userName'] = $row3['username'])
echo "Sorry Username is already taken";
if ($_SESSION['password']="" || count($_SESSION['password'])<5)

echo "password should not contain less than 5 characters";

else

mysql_query("INSERT INTO user_list VALUES(
'',
'".addslashes($_POST['username'])."',
'".md5($_POST['password'])."',
'".addslashes($_POST['email'])."',
'".time()."'
)") or die(mysql_error());

echo "Registration Successful! <br/>";
echo "Bine ai venit, ". $newest_member. " te-ai inregistrat cu succes";



Iar rezultatul:


Sorry Username is already taken

password should not contain less than 5 charactersRegistration Successful!
Bine ai venit, 123 te-ai inregistrat cu succes
Nr membri: 27

Imi poate explica cineva concret cum se pun acoladele astea?

Multumesc



guppy
Senior Member
Mesaje: 353
Membru din: Joi Mai 03, 2007 12:14 am

Mesajde guppy » Mie Ian 19, 2011 4:53 pm

foloseste mai vizibil condia if

if (conditie) {
cand coditia este ok executi ceva
}

jedymaster
PHPRomania Supporter
Mesaje: 8
Membru din: Mie Ian 19, 2011 4:35 pm

Mesajde jedymaster » Mie Ian 19, 2011 5:14 pm

Asa ar trebui sa functioneze, dar nu functioneaza, acelasi rezultat
Am modificat codul cu acoladele, asa cum consider ca este destul de corect.

$query = "SELECT username FROM user_list";
$result3 = mysql_query($query) or die(mysql_error());
if($row3 = mysql_fetch_array($result3)) {

if($_SESSION['userName'] = $row3['username'])
{

echo "Sorry Username is already taken";
}

if ($_SESSION['password']="" || count($_SESSION['password'])<5)
{

echo "password should not contain less than 5 characters";
}
}
else

mysql_query("INSERT INTO user_list VALUES(
'',
'".addslashes($_POST['username'])."',
'".md5($_POST['password'])."',
'".addslashes($_POST['email'])."',
'".time()."'
)") or die(mysql_error());

echo "Registration Successful! <br/>";
echo "Bine ai venit, ". $newest_member. " te-ai inregistrat cu succes";

guppy
Senior Member
Mesaje: 353
Membru din: Joi Mai 03, 2007 12:14 am

Mesajde guppy » Mie Ian 19, 2011 5:36 pm


Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Mesajde Birkoff » Mie Ian 19, 2011 5:55 pm

1) )
2)
3) (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

Avatar utilizator
matheuzzy
Senior Member
Mesaje: 383
Membru din: Dum Apr 26, 2009 4:42 pm
Localitate: Bucuresti

Mesajde matheuzzy » Mie Ian 19, 2011 7:46 pm


Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Mesajde Birkoff » Mie Ian 19, 2011 9:56 pm

1) )
2)
3) (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

jedymaster
PHPRomania Supporter
Mesaje: 8
Membru din: Mie Ian 19, 2011 4:35 pm

Mesajde jedymaster » Mie Ian 19, 2011 10:48 pm

Am pus ==, asa cum consider ca e corect, acelasi rezultat...

$query = "SELECT username FROM user_list";
$result3 = mysql_query($query) or die(mysql_error());
if($row3 = mysql_fetch_array($result3)) {

if($_SESSION['userName'] == $row3['username'])
{

echo "Sorry Username is already taken";
}

if ($_SESSION['password']=="" || count($_SESSION['password'])<5)
{

echo "password should not contain less than 5 characters";
}
}
else

mysql_query("INSERT INTO user_list VALUES(
'',
'".addslashes($_POST['username'])."',
'".md5($_POST['password'])."',
'".addslashes($_POST['email'])."',
'".time()."'
)") or die(mysql_error());

echo "Registration Successful! <br/>";
echo "Bine ai venit, ". $newest_member. " te-ai inregistrat cu succes";

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Mesajde Birkoff » Mie Ian 19, 2011 11:07 pm

count($_SESSION['password'])<5)

cred ca vroiai sa pui

strlen($_SESSION['password'])<5)

count e bine de folosit la array-uri nu la stringuri...

fa si tu debug, da echo la session da echo la query da echo la variabile vezi ce anume contin de iti afiseaza acele mesaje... asa stii unde e buba si o corectezi

offtopic
o regula de baza pe orice forum de programare e ca sa pui codul tau in tagurile phpbb [ code ]
1) )
2)
3) (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

Avatar utilizator
killer2005
Average Member
Mesaje: 174
Membru din: Mie Dec 21, 2005 8:00 am
Localitate: Bucuresti

Mesajde killer2005 » Joi Ian 20, 2011 11:53 am



Înapoi la “PHP Incepători”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 23 vizitatori