webForumDet fria alternativet

Vad är det för fel?

PHP

4 svar · 651 visningar · startad av Mycodez

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

Jag håller på och skapar en login funktion på en sida jag skapar men jag får detta error meddelande

Parse error: syntax error, unexpected T_VARIABLE in /home/web77725l/domains/mycodez.se/public_html/testing/login.php on line 14

här e rad 14

$numrows = mysql_num_rows($query);

här e hela koden

<?php

session_start();

$username = $_POST['username'];
$password = $_POST['password'];

if($username&&$password)
{
$connect = mysql_connect("******","******","******") or die("Couldn`t connect!");
mysql_select_db("web77725l_php") or die ("Couldn´t find db");

$query = mysql_query("SELECT * FROM users WHERE username='$username'")
$numrows = mysql_num_rows($query);

if ($numrows!=0)
{
	while ($row = mysql_fetch_assoc($query))
	{
		$dbusername = $row['username'];
		$dbpassword = $row['password'];
	}
	
	// check to see if they match!
	if ($username==$dbusername&&$password==$dbpassword)
	{
		echo "You're in! <a href='member.php'>Click</a> here to enter the member page.";	
		$_SESSION['username']=$username;
	}
	else
		echo "Incorrect password!";
}
else
	die("Thats user doesn't exist!");
}
else
	die("Please enter a username and a password!");
?>

Jag är nybörjare med PHP så ni vet

/Robin

www.mycodez.se - min blogg

Medlem sedan mars 200986 inlägg
#2

Hej!

Du verkar ha glömt ett semikolon ";" efter rad 13:

$query = mysql_query("SELECT * FROM users WHERE username='$username'")

=)

Medlem sedan feb. 2010445 inlägg
#3

Tack så mycket. det var ett enkelt fel. men men är man ny så ser man inte det :) jag trodde koden var fel skriven ;)

Men tack ännu en gång

Medlem sedan juni 20014 421 inlägg
#4

Du bör läsa på om sql-injection. :) Bästa sättet att angripa det är dock att använda PDO med Prepared Statements. Du bör också kolla lösenordet direkt i SQL-frågan samt se till att ha lösenorden hashade i databasen. I dagsläget kan jag skicka in en elak SQL-sträng via ett formulär och på så sätt plocka ut all information du har om användarna. Om du hashar lösenordet via hmac skulle jag inte kunna plocka ut det från databasen då jag inte vet vilket salt eller algoritm som används. Använder du dessutom PDO med prepared statements försvinner möjligheterna till sql-injection. Vet du inte vad sql-injection är kan du söka efter det här på wF och google.

Medlem sedan feb. 2010445 inlägg
#5

Okej ska kolla på det man vill ju inte bli hackad och folk som dummar sig på sidan.
Tack så mycket för det tipset/tipsen

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