webForumDet fria alternativet

Skumt parse error?

PHP

12 svar · 509 visningar · startad av casca

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

OK, nybörjargrej här säkert.. ;) Men jag får parse error på rad 13 i följande script,

<?php

	if(isSet($_POST['uNick']))
	{	
	
			$connect = mysql_connect('localhost', 'mweb', 'password');
			mysql_select_db("mwebdb", $connect);
	
				$uResult = mysql_query("SELECT * FROM mweb_users WHERE uNick = ".$_POST['uNick']." AND uPassword = ".$_POST['uPassword'].");
	
				if(empty($uResult))
				{
				$message = "Det blev nåt fel.."
				}
				else
				{
						while($row = mysql_fetch_array($uResult))
						session_start()
						$_SESSION['user'] = $row['uNick']
				}
	}
	
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<?php echo($message); ?>
</body>
</html>

Rad 13:

$message = "Det blev nåt fel.."
Medlem sedan mars 200455 inlägg
#2

;

?

Medlem sedan feb. 20005 891 inlägg
#3

Ah, jo, ska nog vara $message = "Det blev nåt fel..";

Men det hjälpte inte, fortfarande parse error där.

Medlem sedan dec. 200012 464 inlägg
#4
$uResult = mysql_query("SELECT * FROM mweb_users WHERE uNick = '".$_POST['uNick']."' AND uPassword = '".$_POST['uPassword']."'");
Medlem sedan feb. 20005 891 inlägg
#5

Ahh tack Lars!

Medlem sedan juni 20008 205 inlägg
#6

Och så glömmer vi inte addslashes:

$uResult = mysql_query("SELECT * FROM mweb_users WHERE uNick = '". [b]addslashes([/b]$_POST['uNick'][b])[/b] ."' AND uPassword = '". [b]addslashes([/b]$_POST['uPassword'][b])[/b] ."'");
Medlem sedan feb. 20005 891 inlägg
#7

Alright.. Men hm, uppföljare. ;) Får nu inte databasgrejen att fungera, alltså, det är tanken att den ska ta emot form-data, uNick och uPassword (POST), och sen kolla det mot databasen och sätta en session om uppgifterna matchar.

Nån som har en lösning? :)

Medlem sedan dec. 200012 464 inlägg
#8

Får nu inte databasgrejen att fungera

Vad betyder det? kan du vara mer specifik?

Det saknades lite { och ; i koden nedan.

if(empty($uResult))
{
      $message = "Det blev nåt fel.." . mysql_error();
}
else
{
     while($row = mysql_fetch_array($uResult))
      {
            session_start();
            $_SESSION['user'] = $row['uNick']:
       }
}
Medlem sedan feb. 20005 891 inlägg
#9

Måste göra en liten uppföljare i tråden.. :( Har skalat ner koden och testat lite.. När den nu tar emot POST-data så skriver den ut uppgifterna om användarnamn och lösenord matchar databasen (som den ska), men varför kör den inte

{ echo "Du har knappat in fel användarnamn eller lösenord."; }

??? :o

Hela källkoden:

<?php

		$connect = mysql_connect('localhost', 'mweb', 'password');
		mysql_select_db("mwebdb", $connect);
	
			$uResult = mysql_query("SELECT * FROM mweb_users WHERE uNick = '{$_POST['uNick']}' AND uPassword = '{$_POST['uPassword']}'");
			while($row = mysql_fetch_array($uResult)) // Kör SQL query och kolla om det returneras nåt värde?
			{
		if(mysql_num_rows($row) == 0)
		{ echo "Du har knappat in fel användarnamn eller lösenord."; }
		else
		{ echo $row['uNick'] . $row['uPassword']; }
			}

?>
Medlem sedan mars 20025 907 inlägg
#10

Du har rört ihop det lite :)
Du behöver inte loopa ut raderna från databasen då det maximalt (eller?) är en rad som kommer returneras.

<?php

		$connect = mysql_connect('localhost', 'mweb', 'password');
		mysql_select_db("mwebdb", $connect);
	
		$uResult = mysql_query("SELECT * FROM mweb_users WHERE uNick = '{$_POST['uNick']}' AND uPassword = '{$_POST['uPassword']}'");
		if(mysql_num_rows($row) == 0){
			 echo "Du har knappat in fel användarnamn eller lösenord."; 
		}else{
			$row = mysql_fetch_array($uResult) 
			echo $row['uNick'] . $row['uPassword'];
		}
?>
Medlem sedan dec. 200012 464 inlägg
#11

Du har rört ihop det lite :)

mysql_num_rows($row)

skall vara

mysql_num_rows($uResult)
Medlem sedan feb. 20005 891 inlägg
#12

OK, nu fick jag iofs hjälp tidigare (men nätet segade som tusan, så jag kom inte in på wf) så jag hann aldrig ta bort frågan. Tack ändå, skönt att veta att det finns hjälp.

Medlem sedan mars 20025 907 inlägg
#13

LarsG skrev:

Du har rört ihop det lite :)

:r

286 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
160 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
161 ms — ändringar (db)