webForumDet fria alternativet

unexpected T_VARIABLE snälla hjälp!

PHPur PHP

6 svar · 3 583 visningar · startad av viktorbc

Medlem sedan feb. 20092 inlägg
Frågan#1

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!")

?>

Medlem sedan feb. 20034 441 inlägg
#2
$username = $_POST['username']
$password = $_POST['password']
  • På ovanstående rader avslutar du inte med semikolon ( ; )
  • Använd kod-taggarna! ([ kod ][ /kod ]) när du postar kod, eller när du postar PHP, använder PHP-taggarna ([ php ][/ php ]).
  • Posta i rätt forum! Den här tråden bör ligga i "PHP", inte i "Script från WF's Medlemmar".
Medlem sedan feb. 20034 441 inlägg
#3

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&#65533;ndarnamn och l&#65533;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!

Medlem sedan feb. 20092 inlägg
#4

sorry, ni skulle inte kunna ge ett exempel på hur det ska se ut? Det vore mycket snällt.

Medlem sedan feb. 20034 441 inlägg
#5
<?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&#65533;ndarnamn och l&#65533;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.

Medlem sedan nov. 2000857 inlägg
#6

Flyttad från "Script - PHP"

Medlem sedan mars 2001363 inlägg
#7

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 . '\'');
141 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)