Moin Leude, ihr seid echt meine letzte Hoffnung.
Schreibe derzeit an einer Loginfunktion und auf dem Localhost lief alles Bombe, nun spiel ich das auf den Webhoster auf und es geht nicht!
Ich hab sämtliche Fehlerabfragen gestartet und bekomme nichtmal eine Fehlermeldung, aber er führt einfach die SELECT abfrage nicht aus mit der ich dann auf die weiteren Werte zugreifen wollte.
Wie bereits gesagt, auf localhost läuft alles bombe... nur auf dem Server (ich hab extra zwei probiert, beide fehlanzeige).
Hier der Code, ich hoffe einer von euch findet den Fehler!
if (isset($_SESSION['start'])){
if($_SESSION['username'] AND $_SESSION['password']){
$query = "SELECT * from user where username='".$_SESSION['username']."';";
if($rset = @$dbc->query($query)){
$num = $rset->num_rows;
}
if (!$dbc->query($query)) {
printf("Errormessage: %s\n", $dbc->error);
}
if($num!=0){
while ($row = $rset->fetch_object()) {
$_SESSION['dbusername'] = $row->username;
$_SESSION['dbpassword'] = $row->passwort;
$_SESSION['id'] = $row->iduser;
$_SESSION['vorname'] = $row->vorname;
$_SESSION['lastname'] = $row->name;
if($_SESSION['dbusername'] == $_SESSION['username'] AND $_SESSION['dbpassword'] == $_SESSION['password']){
$_SESSION['eingeloggt'] = TRUE;
}
else{
echo "warum 2";
$fehlermeldung="Falscher Benutzername oder Passwort";
unset($_SESSION['start']);
$_SESSION['Fehler']=$fehlermeldung;
}
}
}
else{
echo "Warum 1";
$fehlermeldung ="Falscher Benutzername oder Passwort";
$_SESSION['Fehler']=$fehlermeldung;
unset($_SESSION['start']);
}
}
else{
$fehlermeldung ="Beide Felder ausfüllen";
$_SESSION['Fehler']=$fehlermeldung;
unset($_SESSION['start']);
}
}
Es ist ein kleiner Ausschnitt, aber ich bekomme als Meldung lediglich Errormessage: und dann das von mir extra eingefügte "warum1". Er überspringt also die if-Abfrage des Zugriffs auf die Datenbank.
Bei einem Test habe ich als var_dumb $rset = NULL rausbekommen. Warum?
Schreibe derzeit an einer Loginfunktion und auf dem Localhost lief alles Bombe, nun spiel ich das auf den Webhoster auf und es geht nicht!
Ich hab sämtliche Fehlerabfragen gestartet und bekomme nichtmal eine Fehlermeldung, aber er führt einfach die SELECT abfrage nicht aus mit der ich dann auf die weiteren Werte zugreifen wollte.
Wie bereits gesagt, auf localhost läuft alles bombe... nur auf dem Server (ich hab extra zwei probiert, beide fehlanzeige).
Hier der Code, ich hoffe einer von euch findet den Fehler!
if (isset($_SESSION['start'])){
if($_SESSION['username'] AND $_SESSION['password']){
$query = "SELECT * from user where username='".$_SESSION['username']."';";
if($rset = @$dbc->query($query)){
$num = $rset->num_rows;
}
if (!$dbc->query($query)) {
printf("Errormessage: %s\n", $dbc->error);
}
if($num!=0){
while ($row = $rset->fetch_object()) {
$_SESSION['dbusername'] = $row->username;
$_SESSION['dbpassword'] = $row->passwort;
$_SESSION['id'] = $row->iduser;
$_SESSION['vorname'] = $row->vorname;
$_SESSION['lastname'] = $row->name;
if($_SESSION['dbusername'] == $_SESSION['username'] AND $_SESSION['dbpassword'] == $_SESSION['password']){
$_SESSION['eingeloggt'] = TRUE;
}
else{
echo "warum 2";
$fehlermeldung="Falscher Benutzername oder Passwort";
unset($_SESSION['start']);
$_SESSION['Fehler']=$fehlermeldung;
}
}
}
else{
echo "Warum 1";
$fehlermeldung ="Falscher Benutzername oder Passwort";
$_SESSION['Fehler']=$fehlermeldung;
unset($_SESSION['start']);
}
}
else{
$fehlermeldung ="Beide Felder ausfüllen";
$_SESSION['Fehler']=$fehlermeldung;
unset($_SESSION['start']);
}
}
Es ist ein kleiner Ausschnitt, aber ich bekomme als Meldung lediglich Errormessage: und dann das von mir extra eingefügte "warum1". Er überspringt also die if-Abfrage des Zugriffs auf die Datenbank.
Bei einem Test habe ich als var_dumb $rset = NULL rausbekommen. Warum?