HomeArtikelDownloadsForum
PCFreunde.deForumEntwicklungPHP, MySQL & Co.
Besucher online: 978
Schnellsuche

Anzeigen

Community

Foren
PHP, MySQL & Co. Seite 2/2
mysql_num_rows() expects parameter 1 to be resource
AntwortenNeues ThemaZur akzeptierten AntwortZur Themenliste
Seiten:
1 2
Zurück
Nachricht
L3oop
Titel: mysql_num_rows() expects parameter 1 to be resource 18.09.2009 19:18
Moderator
45.021 Punkte (?)
Anmeldungsdatum: 25.04.2008
Beiträge: 9.399
Experte
Ahaaa....

Zitat:
if ($anzahl == 1)
{
$row = mysql_fetch_object($query);
$_SESSION['loggedin'] = true;
$_SESSION['userID'] = $row->user_id;
echo "Du wurdest erfolgreich eingeloggt.";
}


Das $ fehlt :wink:

________________________________________
StereomixBootreihenfolge ändernPC beschleunigen
Private Nachricht senden  
 
Hilfe!
Titel: mysql_num_rows() expects parameter 1 to be resource 19.09.2009 12:26
6.845 Punkte (?)
Anmeldungsdatum: 15.08.2007
Beiträge: 2.443
Hät nicht gedacht dein mein Verdacht echt gestimmt hat, bin ja
doch nichtmal so unbrauchbar. :mrgreen:
Nachdem auch mein zweiter Verdacht entfernt wurde undzwar hier:
Zitat:
$password = ($password); //ohne md5 davor

Ging es wunderbar, Danke!

Aber ich hab noch eine kleine Frage, nach dem erfolgreichen
Login würde ich gerne wollen das die man auf ne andere
Seite geschickt wird, wo man dann den Login Bereich da hat,
das Problem ist nur wenn ich das einbauen würde dann könnte
jeder mit dem "weiterführenden" Link problemlos rein auch wenn
er nicht registriert/eingeloggt ist.

Also würde ich irgendwie was brauchen das trotz link,
den status "eingeloggt" benötigt, damit es keine unbefugten
zugriffe gibt.

Gibt es da irgendeinen Trick oder eine möglichkeit das zu machen?
Mir ist natürlich egal ob weitergeleitet wird oder nicht nur will
ich halt das nach dem login sich ein Menü "ausfaltet".

[Zuletzt bearbeitet: 19.09.2009 12:26]

________________________________________
Weisheit ist die Kunst, so zu leben, dass
das, was man sich vornimmt, auch gelingt.
Private Nachricht senden  
 
L3oop
Titel: mysql_num_rows() expects parameter 1 to be resource 19.09.2009 12:57
Moderator
45.021 Punkte (?)
Anmeldungsdatum: 25.04.2008
Beiträge: 9.399
Experte
Du hast die Variable $_SESSION['loggedin']. Du kannst prüfen, ob sie auf true steht, in diesem Fall ist der User eingeloggt. Niemand kann diese Variable gegen deinen Willen manipulieren, weil sie, anders als Cookies, allein der Server verwenden kann.

Beispiel:

<?php
session_start();
// Das muss übrigens immer ganz oben stehen, wenn die Seite mit Sessions
// arbeiten soll.
if($_SESSION['loggedin'])
{
?>
Das können nur eingeloggte Nutzer sehen.
<?php } else header("Location: login.php");
// Ansonsten wird auf die angegebene Seite weitergeleitet.
?>

________________________________________
StereomixBootreihenfolge ändernPC beschleunigen
Private Nachricht senden  
 
bitsnack
Titel: mysql_num_rows() expects parameter 1 to be resource 19.09.2009 13:34
9.479 Punkte (?)
 
Anmeldungsdatum: 30.01.2009
Beiträge: 3.551
Dann will ich meinen Senf auch noch kurz dazu geben:
Wenn ein User nicht eingeloggt ist und in dem Fall auf eine Seite weitergeleitet werden soll, solltest du der Sicherheit wegen noch ein exit; hinter die Weiterleitung schreiben, da die Weiterleitung im Header steht und dieser manipuliert werden kann. Man könnte also diese Weiterleitung umgehen, wenn kein exit; danach steht.
Wenn man dann die Weiterleitung irgendwie umgeht wird einfach eine leere Seite angezeigt, wobei das ganze Zeug das nur eingeloggte User sehen sollen nach dem exit; stehen muss.
Das kann also z.B so aussehen:

<?php
session_start();
// Das muss übrigens immer ganz oben stehen, wenn die Seite mit Sessions
// arbeiten soll.
if(!$_SESSION['loggedin'])
{
header("Location: login.php");
exit; // alternativ geht auch "die("Fehler!");" (ohne Anführungszeichen versteht sich)
} else {
echo "Das können nur eingeloggte User sehen";
} ?>
Private Nachricht senden  
 
Hilfe!
Titel: mysql_num_rows() expects parameter 1 to be resource 20.09.2009 16:11
6.845 Punkte (?)
Anmeldungsdatum: 15.08.2007
Beiträge: 2.443
Irgendwie funktionieren beide Codes nicht. :? :mrgreen:

Naja ich habs aber einfach gelöst indem ich die erfolgs Nachricht
dem entsprechend geändert hab.
Hoffentlich ist das Sicher genug. :mrgreen:

Jetzt bräuchte ich nur noch irgendwie ein Cookie damit man
eingeloggt bleibt, aber schaff ich schon irgendwie,
hoffentlich. :mrgreen:

Danke für eure Hilfe! :D

*hust* Das Häkchien wurde an einer guten Stelle gesetzt,
ist nur ein Witz, nicht böse sein. :mrgreen: :wink:

[Zuletzt bearbeitet: 20.09.2009 16:13]

________________________________________
Weisheit ist die Kunst, so zu leben, dass
das, was man sich vornimmt, auch gelingt.
Private Nachricht senden  
 
snork
Titel: mysql_num_rows() expects parameter 1 to be resource 25.12.2011 19:16
1 Punkte (?)
 
Anmeldungsdatum: 25.12.2011
Beiträge: 1
hallo.
ich bekomme folgende fehlermeldung :

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in login.php on line 11
1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= '670b14728ad9902aecba32e22fa4f6bd'' at line 2

der code sieht so aus:

<?php

include "db.php";
if(isset($_POST['login']))
{
$username = $_POST['username'];
$passw = $_POST['password'];
$md5 = md5($passw);
$query = mysql_query("SELECT * FROM `users` WHERE `username` = '$username'
and $password = '$md5'");
$anzahl = mysql_num_rows($query);

//Nur zur Fehlersuche-
echo mysql_errno() . ": " . mysql_error() . "\n";
//--
if ($anzahl == 1)
{
$row = mysql_fetch_object($query);
$_SESSION['loggedin'] = true;
$_SESSION['userID'] = $row->user_id;
echo "Du wurdest erfolgreich eingeloggt.";
}
}


?>
wo könnte der fehler sein?
Private Nachricht senden  
 
AntwortenNeues ThemaZur akzeptierten AntwortZur Themenliste
Seiten:
1 2
Zurück
Community Login
eMail:
Passwort:
Auto-Login