Hej!
Jag har ett login scrip (php) men när jag går in på min hemsida står det "Parse error: parse error, unexpected T_VARIABLE in /home/www/bccommunity.goldeye.info/login.php on line 4"
Här är scriptet (skrivit till exempel "db anvnamn" på några ställen av förklagliga skäll.
Någon som vet var felet är? Tacksam för svar!
<?php
$username = $_POST['username']
$password = $_POST['password']
if ($username&&$password)
{
}
$connect = mysql_connect("bccommunity.goldeye.info","db anvnamn","db lösen") or die ("Kunde inte ansluta mysql")
mysql_select_db("db namn") or die("Kunde inte hitta db!");
$query = mysql_query('SELECT * FROM users where username='$username' AND password = '$pass'
$numrows = mysql_num_rows($query);
if ($numrows!=0)
{
while ($row = mysql_fetch_assoc($query))
{
$dbusername = $row ['username'];
$dbpassword = $row ['password'];
}
if ($username==$dbusername&&$password==$dbpassword)
{
echo "Du �r inloggad!";
}
else
echo "Fel l�senord!";
}
else
die("Anv�ndaren finns inte!");
}
else
die("Anv�ndarnamn och l�senord saknas!")
?>
Du har även missat semikolon ( ; ) och slut paranets på raderna:
$query = mysql_query('SELECT * FROM users where username='$username' AND password = '$pass'
...och...
die("Anv�ndarnamn och l�senord saknas!")
Dessutom har du flera }else{ i samma if-sats i slutet, du har missat flera { och } på vägen, köp en bok, lär dig syntaxen!
sorry, ni skulle inte kunna ge ett exempel på hur det ska se ut? Det vore mycket snällt.
<?php
$username = $_POST['username'];
$password = $_POST['password'];
if ($username&&$password){
$connect = mysql_connect("bccommunity.goldeye.info","db anvnamn","db lösen") or die ("Kunde inte ansluta mysql");
mysql_select_db("db namn") or die("Kunde inte hitta db!");
$result = mysql_query('SELECT username, password FROM users where username='$username' AND password = '$pass');
if(!(mysql_num_rows($result) == false)){
echo "Användaren hittades";
}else{
echo "Fel lösenord eller så finns inte användaren!";
}
mysql_free_result($result);
}else{
die("Anv�ndarnamn och l�senord saknas!");
}
?>
Men som sagt, köp en bok, försök lära dig hur syntaxen ske se ut.
Sök även på forumet efter "sql injection" och se till att skydda dig mot det.
Flyttad från "Script - PHP"
Det är också ett strängfel där
$query = mysql_query('SELECT * FROM users where username='$username' AND password = '$pass'
Ska vara
$query = mysql_query("SELECT * FROM users where username='$username' AND password = '$pass'");
eller
$query = mysql_query('SELECT * FROM users where username=\'' . $username . '\' AND password = \'' . $pass . '\'');