Kom ihåg mig?

Funderingar på vilken kod!?!?

Ämnesverktyg Visningsalternativ
Oläst 2008-06-10, 04:07 #1
xbreaker xbreaker är inte uppkopplad
Nykomling
 
Reg.datum: Jun 2008
Inlägg: 8
xbreaker xbreaker är inte uppkopplad
Nykomling
 
Reg.datum: Jun 2008
Inlägg: 8
Tjena, precis börjat leka lite med inloggning i php med hjälp av MySQL.

Men under mitt programmerande så märkte jag att jag kan välja mellan två "function".
Nedan är mitt inloggnings script


Kod:
<?php
$username = $_POST['username'];
$password = $_POST['password'];

$connection = mysql_connect ("localhost", "root", "++++");
mysql_select_db ("my_db",$connection);

$person = mysql_query("SELECT * FROM person WHERE username = '$username' AND password = '$password'");

if (mysql_num_rows($person))
	{
	echo "Login Successfully!";
	}
else
	{
	echo "Bad Username or Password <br /> <a href='javascript:history.go(-1)'>To login</a>";
	}
	
?>
if sattsen i slutet är nu

Kod:
if (mysql_num_rows($person))
Den kunde jag byta ut mot tex.

Kod:
if (mysql_fetch_array($person))
Här kommer frågan, vilken av dessa två skall jag använda eller skall jag skriva nått helt annat?

Ganska ny på detta men börjar komma igång nu

Ha det gött
xbreaker är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-06-10, 04:31 #2
wooper wooper är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 128
wooper wooper är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 128
Hej,

Jag rekommenderar dig att köra på alternativ två: "if (mysql_fetch_array($person))"

Detta för att du kollar om den angivna "användaren" finns i databasen, samma gör "mysql_num_rows" men de matchar alla användare med inmatade kriterier från formuläret.

Om du vill kan du lägga in, under "$person = mysql_query("SELECT * FROM person WHERE username = '$username' AND password = '$password'");"

// Hittades inte användarnamn och lösenord
// skicka till formulär med felmeddelande
if (mysql_num_rows($person) == 0){ // Alltså, ingen träff, vad gör vi då?
header("Location: login.php?badlogin="); // Flyttar användaren till en annan sida / eller samma sida med ett felmedellande.
exit;
}
wooper är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-06-10, 04:34 #3
wooper wooper är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 128
wooper wooper är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 128
<?php
$username = $_POST['username'];
$password = $_POST['password'];

$connection = mysql_connect ("localhost", "root", "++++");
mysql_select_db ("my_db",$connection);

$person = mysql_query("SELECT * FROM person WHERE username = '$username' AND password = '$password'");

// Ändrat **
if (mysql_num_rows($person) == 0){ //Inga träffar....
header("Location: login.php?badlogin="); // Flytta till en ny sida.
exit; // Avsluta vidare kod.
}


if (mysql_fetch_array($person))
// Slut på ändring **
{
echo "Login Successfully!";
}

/* Ändrat Bortkommenterat då ett nytt "Felmeddelande" lagts in.
else
{
echo "Bad Username or Password
<a href='javascript:history.go(-1)'>To login</a>";
}
Slut på ändring */
?>
wooper är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-06-10, 05:19 #4
xbreaker xbreaker är inte uppkopplad
Nykomling
 
Reg.datum: Jun 2008
Inlägg: 8
xbreaker xbreaker är inte uppkopplad
Nykomling
 
Reg.datum: Jun 2008
Inlägg: 8
Citat:
Originally posted by wooper@Jun 10 2008, 04:34
?php
username = _POST[username];
password = _POST[password];
connection = mysql_connect (localhost, root, ++++);
mysql_select_db (my_db,connection);
person = mysql_query(SELECT * FROM person WHERE username = username AND password = password);
// Ändrat **
if (mysql_num_rows(person) == 0){ //Inga träffar....
header(Location: login.php?badlogin=); // Flytta till en ny sida.
exit; // Avsluta vidare kod.
}

if (mysql_fetch_array(person))
// Slut på ändring **
{
echo Login Successfully;
}
/* Ändrat Bortkommenterat då ett nytt Felmeddelande lagts in.
else
{
echo Bad Username or Password br / a href=javascript:history.go(-1)To login/a;
}
Slut på ändring */
?

aaah. Tack för snabbt tydligt svar...
xbreaker är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-06-10, 08:36 #5
jonny jonny är inte uppkopplad
Supermoderator
 
Reg.datum: Sep 2003
Inlägg: 6 941
jonny jonny är inte uppkopplad
Supermoderator
 
Reg.datum: Sep 2003
Inlägg: 6 941
Läs på lite om sql injection också.
jonny är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 17:20.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017