Login kann mich nicht einloggen.
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anteil
array
bemerkung
code
einloggen
fehler
fehlerquelle
flag
form
haupt
header
index
input
internet
log
login
not
page
url
zweig
-
Hallo,
Könnt ihr mir sagen warum das nicht geht
und wo der Fehler ist
Ich bin schon fast 2 stunden dran den Fehler finden und finde den Fehler einfach nicht.??
Ich mich einloggen möchte dann kommt das Bitte erst einloggen, hier.
Bitte helft mir.:-)
<?php session_start(); $verhalten = 0; if(!isset($_SESSION["username"]) and !isset($_GET["page"])) { $verhalten = 0; } if($_GET["page"] == "log") { } //Include database connection details require_once('connection.php'); //Array to store validation errors $errmsg_arr = array(); //Validation error flag $errflag = false; //Function to sanitize values received from the form. Prevents SQL injection function clean($str) { $str = @trim($str); if(get_magic_quotes_gpc()) { $str = stripslashes($str); } return mysql_real_escape_string($str); } //Sanitize the POST values $user= clean($_POST['user']); $passwort= clean($_POST['passwort']); //Input Validations if($user == '') { $errmsg_arr[] = 'user missing'; $errflag = true; } if($passwort == '') { $errmsg_arr[] = 'passwort missing'; $errflag = true; } //If there are input validations, redirect back to the login form if($errflag) { $_SESSION['ERRMSG_ARR'] = $errmsg_arr; session_write_close(); header("location: index.php"); exit(); } //Create query $qry="SELECT * FROM login WHERE user='$user' AND passwort='".md5($_POST['passwort'])."'"; $result=mysql_query($qry); if($control != 0) { $_SESSION["username"] = $user; $verhalten = 1; } else { $verhalten = 2; } //Check whether the query was successful or not if($result) { if(mysql_num_rows($result) > 0) { //Login Successful session_regenerate_id(); $member = mysql_fetch_assoc($result); $_SESSION['SESS_MEMBER_ID'] = $member['mem_id']; $_SESSION['SESS_FIRST_NAME'] = $member['user']; $_SESSION['SESS_LAST_NAME'] = $member['passwort']; session_write_close(); header("location: home.php?page=log"); exit(); }else { //Login failed $errmsg_arr[] = 'user name and passwort not found'; $errflag = true; if($errflag) { $_SESSION['ERRMSG_ARR'] = $errmsg_arr; session_write_close(); header("location: index.php"); exit(); } } }else { die("Query failed"); } ?>
<?php session_start(); if(isset($_SESSION["username"])) { ?> <h1>Hallo <?php echo $_SESSION["username"]; ?></h1> <iframe id="ifrm_3" name="I1" frameborder="0" src="../Avatar/settings.php" width="304" height="156"></iframe> <?php } else { ?> Bitte erst einloggen, <a href="../index.php">hier</a>. <?php } ?>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Bei dieser Abfrage:
fragst du den Wert von $control ab, obwohl du ihn noch nie gesetzt hast. Das dürfte zumindest einen großen Anteil daran haben, dass das ganze nicht funktioniert. Dadurch wird nämlich immer in den else-zweig gegagnen -> es findet kein Login statt.if($control != 0) { $_SESSION["username"] = $user; $verhalten = 1; } else { $verhalten = 2; }
Auch
trifft immer zu, da $result immer ein Result beinhaltet (also nie false wird).if($result) {
Ich denke das dürften die haupt Fehlerquellen in dem Code sein.
Abseits davon, solltest du dir mal die Bemerkungen anschauen, die ich in diesem Tread (https://www.lima-city.de/thread/datum-beim-login-speichern) zum code gemacht hab. Der code dort war nämlich an vielen Stellen identisch mit deinem hier. Woher kommt das überhaupt? Kennst du den Autor des anderen Threads oder kommt der Code aus irgend einem obskuren Tutorial im Internet? Würde mich nämlich ungeheuer intressieren, wo sowas verbreitet wird -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage