online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon Uesch vom 11.04.2019, 23:18 Options

Brauche dringend Hilfe bei Login.php

Hallo allerseits,

ich versuche grade einen Login mithilfe von SQL zu erstellen. Dazu habe ich vier Dateien.

1. Die eigentliche Login-Datei, welche in der Datenbank Nutzer und Passwort ausliest

2. Eine Datei mit Inhalt ausschließlich für eingeloggte, in die ich per include eine weitere Datei einfüge, welche kontrolliert, ob man auch wirklich eingeloggt ist.

4. Die Logout-Datei

Ich erhalte nun leider eine Fehlermeldung in der login.php. Hier ist mal der Code:

session_start (); 


$connectionid = mysql_connect ("localhost", "Benutzername", "Passwort");  
if (!mysql_select_db ("Datenbank", $connectionid))  
{  
  die ("Keine Verbindung zur Datenbank");  
}  

$sql = "SELECT ".  
    "id, username, nachname, vorname ".  
  "FROM ".  
    "test_users".  
  "WHERE ".  
    "(username like '".$_REQUEST["name"]."') AND ".  
    "(passwort = '".md5 ($_REQUEST["pwd"])."')";  
$result = mysql_query ($sql);  

if (mysql_num_rows ($result) > 0)  
{  
  $data = mysql_fetch_array ($result);  

  
  $_SESSION["user_id"] = $data["id"];  
  $_SESSION["user_nickname"] = $data["username"];  
  $_SESSION["user_nachname"] = $data["nachname"];  
  $_SESSION["user_vorname"] = $data["vorname"];  

  header ("Location: intern.php");  
}  
else  
{  
  header ("Location: formular.php?fehler=1");  
}  


Wenn ich nun die login.php aufrufe, dann zeigt er das Formular zwar an, jedoch kommt nach Eingabe des Benutzernamens und Passworts folgende Fehlermeldung:
Zitat:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /www/mein/verzeichnis/zur/login.php on line 11

Warning: Cannot modify header information - headers already sent by (output started at /www/mein/verzeichnis/zur/login.php:11) in /www/mein/verzeichnis/zur/login.php on line 20


Was mache ich falsch?

Danke für jede Antwort!

Gruß,

Üsch


Antwort schreiben

Antwort 1 von rabies vom 11.04.2019, 23:33 Options

Hallo,

Der Fehler wird, so denke ich, an
"test_users".
liegen. Hier fehlt denke ich ein Leerzeichen nach 'test_users'. Somit würde das im SQL-Statement so aussehen: '
... FROM test_usersWHERE ...
'.

Das die zweite Fehlermeldung mit dem Header kommt, wird wahrscheinlich daran liegen, dass vorher schon die Fehlermeldung mit SQL-Statement kam. Eine Ausgabe sehe ich dort ja soweit nicht?!

--rabies.

Antwort 2 von Uesch vom 12.04.2019, 00:23 Options

Sorry, aber verstehe ich nicht ganz. Meinst du jetzt so:
Zitat:
$sql = "SELECT ".
"id, username, nachname, vorname ".
"FROM ".
"test_users". "WHERE ".
"(username like '".$_REQUEST["name"]."') AND ".


??
Weil bei dir ist ja nach test_users grade KEIN Leerzeichen, oder?

Kannst du vll mal den kompletten Code so wie ich oben posten so wie du denkst, dass er richtig ist?

Danke!

Gruß,

Üsch

Antwort 3 von Uesch vom 12.04.2019, 01:20 Options

Stand wohl auf dem Schlauch, sorry, hab das jetzt hinbekommen, es kommt keine Fehlermeldung, nur leider sagt mir die formular.php, in welcher übrigens folgendes steht:
Zitat:
if (isset ($_REQUEST["fehler"]))
{
echo "Die Zugangsdaten waren ungültig.";
}
, dass die Zugangsdaten immer falsch sind, auch wenn ich die richtigen Daten eingebe.

Hier ist nochmal der Code von login.php
Woran könnte es liegen, dass er immer sagt, dass Benutzer und Passwort falsch sind?


Zitat:
$sql = "SELECT ".
"id, username, nachname, vorname ".
"FROM ".
"test_users ". "WHERE ".
"(username like '".$_REQUEST["name"]."') AND ".
"(passwort = '".md5 ($_REQUEST["pwd"])."')";
$result = mysql_query ($sql);

if (mysql_num_rows ($result) > 0)
{

$data = mysql_fetch_array ($result);


$_SESSION["user_id"] = $data["id"];
$_SESSION["user_nickname"] = $data["username"];
$_SESSION["user_nachname"] = $data["nachname"];
$_SESSION["user_vorname"] = $data["vorname"];

header ("Location: intern.php");
}
else
{
header ("Location: formular.php?fehler=1");
}

Antwort 4 von disco vom 12.04.2019, 08:13 Options

moin

bekommst du denn auch ein result zurück?
gib mal das $data array aus und schau, ob da überhaupt was drin steht.

so wie du es beschreibst ist diese bedingung nämlich nicht wahr:
if (mysql_num_rows ($result) > 0) 


g,
disco

Antwort 5 von Uesch vom 12.04.2019, 17:31 Options

Also wenn ich einfach mit echo "$data" mache passiert gar nix.

Ein result bekomme ich auch nicht zurück. Es passiert nix außer, dass da steht, dass die Daten falsch sind...

wieso ist die Bedingung
Zitat:
if (mysql_num_rows ($result) > 0)
nicht wahr?

Antwort 6 von rabies vom 12.04.2019, 22:19 Options

Versuch mal
print_r($data)
anstatt
echo $data


--rabies.

Antwort 7 von rebel vom 12.04.2019, 22:39 Options

mein sound geht nicht mehr es kommt kein ton biite helfen biteeeeeeeeeeee!!!!!!!!!!!!

Antwort 8 von Uesch vom 12.04.2019, 23:44 Options

Danke rabies.

Habe grade extrem lange rumprobiert und dann folgendes versucht:

Zitat:
$sql = "SELECT
username, passwort, id, vorname, nachname
FROM
test_users
WHERE
username = '".$name."' AND passwort = '".md5 ($pwd)."'";

$result = mysql_query ($sql);

if (mysql_num_rows ($result) > 0)
{


Ich weiß zwar nicht warum, aber es funktioniert einwandfrei...

Gruß,

Üsch

Antwort 9 von hhahf vom 12.04.2019, 23:45 Options

ej üsch hilf mir bitte weisst du warum kein ton mehr kommt seit ich den computer formatiesiert habe???

Antwort 10 von harrrharrr vom 13.04.2019, 00:22 Options

@hhahf
nach
Zitat:
formatiesiert
gibts kein Ton mehr, das ist normal, weil nach dem formatieren "nichts" mehr auf der Festplatte ist.

Solltest du aber neu installiert haben, musst du den Treiber für die Soundkarte noch installieren.

Gruß
harrr

Antwort 11 von hhaf vom 13.04.2019, 00:24 Options

wie kann ich das installieren ?? hab keine ahnung von Pc sry??

Antwort 12 von harrrharrr vom 13.04.2019, 00:40 Options

@hhaf
Stell doch eine eigene, neue Anfrage mit Angaben zu deinem PC, sprich motherboard, soundkarte usw. dann will ich dir gerne weiterhelfen.

Gruß
harrr

Antwort 13 von hafa vom 13.04.2019, 00:53 Options

kannst du mir nicht deine e mail adresse geben MSN ??

Antwort 14 von harrrharrr vom 13.04.2019, 01:08 Options

Zitat:
kannst du mir nicht deine e mail adresse geben MSN ??

du kannst mir deine über den Pager geben, dann melde ich mich bei dir.

Gruß
harrr

Antwort 15 von hafa vom 13.04.2019, 01:11 Options

alba_ag@hotmail.com

Antwort 16 von rabies vom 13.04.2019, 10:38 Options

Ist es jetzt für manche User mitlerweile zu schwer, einen eigenen Thread aufzumachen? Hier rein gehörte das echt nicht...

SCNR,
--rabies.

Ähnliche Themen

Hintergrundbild strecken? Brauche dringend Hilfe!
gibenrath  11.02.2007 - 518 Hits - 1 Antwort

Rewrite Problem
tutaeks  14.02.2008 - 53 Hits - 4 Antworten

Win98 rostet ein beim Hochfahren !!! Brauche dringend hilfe!!!
Nietenkiller13  13.03.2008 - 83 Hits - 4 Antworten

Ich krieg meine Festplatte nicht partitioniert !!!! brauche dringend hilfe
Partitionsopfer  03.04.2008 - 144 Hits - 8 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026