/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Tjek-af-bruger-mod-database problem
Fra : Aslak Ransby


Dato : 07-06-01 12:59

Hej NG

Jeg har lidt problemer med hvordan jeg skal tjekke returværdien af en
mysql_query.
Scriptet skal tjekke om et brugernavn + password findes i databasen.
Hvis forspørgslen har et resultat må brugeren være gyldig og hvis ikke
så er enten brugernavn og/eller password forkert.
Men hvordan tjekker jeg lige det på en smart måde?

if (!($qres = mysql_query($query))) {
echo "blaa";
}

virker ikke og det gør følgende hellerikke?

[Kodestump]
if (isset($submit)) {
// Opret forbindelse til database serveren
$db_link = mysql_connect($db_host, $db_user, $db_pass);

// Vælg database
mysql_select_db($db_db);

// Udfør en databaseforspørgsel for at se om bruger og pass er ok!
// Muligvist dirty hack (?)
$query = "SELECT ID FROM users ".
"WHERE usr_nick = '". $user ."' AND usr_pass = '". $pass
.."'";

$qres = mysql_query($query);

// Hvis bruger findes så registrer session vars og login
// Dirty hack (?) virker ikke!
if (mysql_fetch_array($qres) != 0) {
$header_msg = "Velkommen!";

// Registrer relevante variabler
// ...
   
// header location et-eller-andet-sted
// ...    
}

$header_msg = "Ugyldigt brugernavn eller password!";
}
[/Kodestump]

---
Best Regards / Venlig Hilsen
Aslak Ransby

 
 
Jonas Koch Bentzen (07-06-2001)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 07-06-01 13:43

Aslak Ransby skrev:

> Scriptet skal tjekke om et brugernavn + password findes i databasen.
>
> if (!($qres = mysql_query($query))) {

mysql_query returnerer kun falsk, hvis SQL-syntaksen er ugyldig eller
tom. Altså vil den returnere sand, selvom kommandoen ikke returnerer
nogen rækker.

Brug mysql_num_rows($query) til at finde ud af, hvor mange rækker,
MySQL-serveren har returneret.

--
Venlig hilsen
Jonas Koch Bentzen

http://understroem.dk/

Aslak Ransby (07-06-2001)
Kommentar
Fra : Aslak Ransby


Dato : 07-06-01 15:33

On Thu, 7 Jun 2001 14:42:51 +0200, Jonas Koch Bentzen
<ingen.emailadresse@eksempel.dk> wrote:

>Brug mysql_num_rows($query) til at finde ud af, hvor mange rækker,
>MySQL-serveren har returneret.

ja det var lige det jeg var på udkig efter. Takker!

/me finder min udgave af "PHP manualen for dummys" frem :)

---
Best Regards / Venlig Hilsen
Aslak Ransby

Nezar Nielsen (07-06-2001)
Kommentar
Fra : Nezar Nielsen


Dato : 07-06-01 14:29

"Aslak Ransby" <aslak-ransby@[remove]it.dk> skrev i en meddelelse
news:uuquhtoo0ne613g80sn4k0nllu3mov6b2d@4ax.com...

> Jeg har lidt problemer med hvordan jeg skal tjekke returværdien af en
> mysql_query.
> Scriptet skal tjekke om et brugernavn + password findes i databasen.
....
>

Prøv sådan:


if (!($qres = mysql_query($query))) {
echo "din webmaster har ikke styr på sin sql: ".mysql_error();
}
if(mysql_num_rows($qres)!=1){
echo "you don't exist, go away";
}

--
Mvh. Nezar Nielsen
http://fez.dk/




Søg
Reklame
Statistik
Spørgsmål : 177523
Tips : 31968
Nyheder : 719565
Indlæg : 6408674
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste