webForumDet fria alternativet

Skumt parse error?

12 svar · 509 visningar · startad av casca

cascaMedlem sedan feb. 20005 891 inlägg
#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.."
Jake the SnakeMedlem sedan mars 200455 inlägg
#2

;

?

cascaMedlem 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.

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

Ahh tack Lars!

spangoMedlem 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] ."'");
cascaMedlem 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? :)

LarsGMedlem 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']:
       }
}
cascaMedlem 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']; }
			}

?>
PeeerMedlem 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'];
		}
?>
LarsGMedlem sedan dec. 200012 464 inlägg
#11

Du har rört ihop det lite :)

mysql_num_rows($row)

skall vara

mysql_num_rows($uResult)
cascaMedlem 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.

PeeerMedlem sedan mars 20025 907 inlägg
#13

LarsG skrev:

Du har rört ihop det lite :)

:r

134 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
131 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)