Ergebnis 1 bis 8 von 8
  1. #1
    Grahams Jubiläumsapfel
    Themenstarter

    Registriert
    10.2008
    Ort
    Koeln
    Beiträge
    107

    PHP Multiple-Login für Kunden

    Guten Tag!

    Derzeit arbeite ich an meiner Webseite und habe ganz einfach drei Formularobjekte eingebunden:
    Username-Box, Passwort-Box und ein Submit-Button.

    Im Internet habe ich bereits lange nach Lösungen gesucht für mein Login-Problem, jedoch keine einfache für den multiple-Login gefunden.

    Ich möchte mit diesen Formular-Objekten einfach verschiedene vorher eingetragene Kunden einloggen lassen.
    Jeder Kunde hat seine eigene Kundennummer (e-Mail) und sein eigenes Passwort. Bei erfolgreicher Eingabe soll er einfach auf seine persönliche Kundenseite weitergeleitet werden, die ich schon erstellt habe.

    Allerdings habe ich immer nur Scripts gefunden die verspielt, vollgepackt und auf einen Benutzer zugeschnitten sind. Ich brauche aber eines wo Benutzer auf ihre jeweils zugeteilte Seite weitergeleitet werden!

    Ich wünsche ein Frohes Fest und einen guten Rutsch ins neue Jahr!

    Grüße, Peter

  2. #2
    Kleiner Weinapfel Avatar von MasterofDistres
    Registriert
    12.2006
    Beiträge
    1.133
    Also an sich, da die Seite, die ihm zugeteilt wurde, schon besteht, kannst du ja das vorhandene Skript nutzen, um die Logindaten zu prüfen (aber auch schauen, ob's gegen SQL-Injections und andere Sicherheitslöcher abgesichert ist) und dann anhand der Kundennummer einfach eine Weiterleitung auf die persönliche Seite schalten…die Nummer ist ja beim Loginvorgang noch gespeichert… (die Seite muss dann natürlich nochmal extra gesichert sein und die Authentizität / Richtigkeit der übermittelten Daten prüfen (also Kundennummer und Passwort) (jetzt in der Kurzform die Idee, hoffe, hab dich richtig verstanden )

  3. #3
    Grahams Jubiläumsapfel
    Themenstarter

    Registriert
    10.2008
    Ort
    Koeln
    Beiträge
    107
    Zitat Zitat von MasterofDistres Beitrag anzeigen
    Also an sich, da die Seite, die ihm zugeteilt wurde, schon besteht, kannst du ja das vorhandene Skript nutzen ...

    Guten Morgen!

    Danke schon mal für die Antwort!
    Mhh . . . leider habe ich ja gerade kein Script, daher kann ich kein vorhandenes Script nutzen

    Ich verfüge auf jeden Fall über einen SQL und könnte demnach die Benutzerdaten einbinden. Ich habe nur bisher kein Script gefunden im Internet, dass ich mit meinen schwachen PHP-Kenntnissen umschreiben kann zu dem was ich brauche.

    Einfaches Login -> E-Mail und Passwort
    Und der jeweilige Benutzer wird an die ihm zugeteilte Webseite weitergeleitet ...


    Ich danke auf jeden Fall schon mal für die Antwort und wünsche Ihnen ein frohes Fest sowie einen guten Rutsch ins neue Jahr 2010 - ich hoffe Sie müssen Sich beim Unterschreiben nicht so lange an die 2010 gewöhnen wie ich immer

    Beste Grüße,
    Peter

  4. #4
    Seestermüher Zitronenapfel
    Registriert
    11.2006
    Ort
    Ruhrgebiet und Niederrhein
    Beiträge
    6.085
    Direkt der erste Treffer bei google: KLICK
    Du musst hier noch die Seite einbauen wo der Kunde hinsoll. Du kannst hierfür die eindeutige ID des Users benutzen oder du hinterlegst für jeden Benutzer in der Datenbank ein Feld wo die Seite steht. Dann einfach diesen Wert aus der DB auslesen und den Link aufbauen.
    Viel Technik als Mittel zum Zweck....
    23 weis alles, 42 ist die Antwort und 242 steht außer Frage
    Ich danke euch allen. Selten so gut gelacht.
    Wer Ironie findet, darf sie behalten/RTFM
    Bei der Lösungssuche: selbst mitdenken hilft auch.
    Welle:Erdball - Nur tote Frauen sind schön - Lieber Gott


  5. #5
    Kleiner Weinapfel Avatar von MasterofDistres
    Registriert
    12.2006
    Beiträge
    1.133
    Wo man da dazu sagen muss, dass keinerlei Prüfung der übergebenen Daten durchgeführt wird... also ich kann mal eins hochladen, dass ich vor längerer Zeit, z.T. anhand eines Tutorials erstellt habe - dort werden die Daten überprüft, aber trotzdem ohne Gewähr

    Einmal das Login-Form:

    Code:
    <form action="process_login.php" method="post" accept-charset="utf-8">					
    	<p><span class="nlabel">E-Mail:</span> 	
    	<input type="text" id="mail" name="email" value="" /><br />
    	<span class="plabel">Passwort:</span>		
    	<input type="password" id="pw" name="password" value="" /><br /></p>
    	<p><input type="submit" id="submit" name="submit" value="Login!" /></p>
    </form>
    Ein bisschen Sicherheit:
    Code:
    function protect($string) {
    	$string = htmlspecialchars($string);
    	$string = mysql_real_escape_string($string);
    	$string = strip_tags($string);
    	$string = addslashes($string);
    
    	return $string;
    }
    Das Skript inkl. Überprüfung:
    Code:
    if ($_POST['submit']) {
    	session_start();
    	ob_start();
    	$email = protect($_POST['email']);
    	$passwort = protect($_POST['passwort']);
    
    	$errors = array();
    
    	if (empty($email)) {
    	    $errors [] = "<span class=\"error\">Fehler:</span> Bitte geben Sie Ihre Emailadresse ein!";
    	}
    	if ($email) {
               $checkemail = "/^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}$/i";
    	   if(!preg_match($checkemail, $email)) {
    	      $errors [] = "<span class=\"error\">Fehler:</span> Keine gültige Emailadresse!";
    	   }
    	}
    
    	if(!$passwort){
    	    $errors[] = "<span class=\"error\">Fehler:</span> Bitte geben Sie Ihr Passwort ein!";
    	}
    
    
    	if(count($errors) > 0){
    	    echo "Folgende <span class=\"error\">Fehler</span> sind aufgetreten:<br>\n";
    	        foreach($errors AS $error){
    	            echo $error . "<br>\n";
    	        }
    	}
    	else {
    
    	    $query = "SELECT * FROM users WHERE email = '$email'";
    	    $res = mysql_query($query) or die(mysql_error());
    
    	    if(mysql_num_rows($res) == 0){
    	        echo "Die angegebene E-Mailadresse ist nicht in der Datenbank zu finden.";
    	    }
                else {
    	        $query2 = "SELECT * FROM users WHERE username='".$email."' AND `passwort`='".md5($passwort)."'";
    	        $res2 = mysql_query($query2) or die(mysql_error());
    
    	        if(mysql_num_rows($res2) == 0){
    	            echo "E-Mail- und Passwort-Kombination stimmt nicht!";
    	        } 
    			else {
    		            $row = mysql_fetch_assoc($res2);
    
    		            // we're going to set the user id
    
    		            // for cookies
    		            setcookie('id',$row['id'],0);
    
    		            // for sessions
    		            $_SESSION['id'] = $row['id'];
    			    $_SESSION['pw'] = $row['passwort'];
    
    		            echo ("<script type=\"text/javascript\">
    					var newurl = \"acc.php\";
    					setTimeout(\"window.location.href=newurl\",100);
    					</script>");
    		        }
    		    }
    
    		}
    
    		ob_end_flush();
    	}
    	else {
    	    // in this area the form has been incorrectly submitted
    	    echo "<span class=\"error\">Fehler:</span> Diese Seite wurde falsch aufgerufen!";
    	}
    ?>
    In der Kundenseite noch eine Überprüfung:
    Code:
    if (!empty($_SESSION['id']) && !empty($_SESSION['pw'])) {
           $pw = protect($_SESSION['pw']); $id = protect($_SESSION['id']);
           $query = "SELECT * FROM users WHERE id = '$id' AND passwort = '$pw'";
           $res = mysql_query($query) or die(mysql_error());
           if (mysql_num_rows($res) == 0) {echo "Session-Details stimmen nicht!";}
           else{ SEITE AUSGEBEN ...}
    }
    Da mögen noch (kleine) Fehler drin sein, hab das jetzt auch eben nur Quick'n'Dirty aus 2 versch. Skript zusammen geschrieben (war eigentlich eine Überprüfung anhand Benutzername und Passwort), aber ist jedenfalls besser als das verlinkte Skript von Google

  6. #6
    Grahams Jubiläumsapfel
    Themenstarter

    Registriert
    10.2008
    Ort
    Koeln
    Beiträge
    107
    Ich danke Dir für Dein Script!
    Sehr nett, dass Du Dir kurz Zeit genommen hast...

    Das Google-Script war in der Tat nicht wirklich gut!
    Habe in der Zwischenzeit mal weiter gegoogelt und habe in der Zwischenzeit ein weiteres Script gefunden (Anhang), das eigentlich garnicht soo schlecht ist. Allerdings ist auch dieses Script wie alle nur an eine explizite Seite verlinkt bei Login. Ich habe dann zwar auch in der SQL die User stehen, aber nicht die Option diese an eine bestimmte Seite weiterzuschicken

    Ich sehe mir mal gerade Dein Script an...
    Danke schonmal!
    Angehängte Dateien Angehängte Dateien

  7. #7
    Seestermüher Zitronenapfel
    Registriert
    11.2006
    Ort
    Ruhrgebiet und Niederrhein
    Beiträge
    6.085
    Zitat Zitat von peter3333 Beitrag anzeigen
    Ich danke Dir für Dein Script!
    Sehr nett, dass Du Dir kurz Zeit genommen hast...

    Das Google-Script war in der Tat nicht wirklich gut!
    Habe in der Zwischenzeit mal weiter gegoogelt und habe in der Zwischenzeit ein weiteres Script gefunden (Anhang), das eigentlich garnicht soo schlecht ist. Allerdings ist auch dieses Script wie alle nur an eine explizite Seite verlinkt bei Login. Ich habe dann zwar auch in der SQL die User stehen, aber nicht die Option diese an eine bestimmte Seite weiterzuschicken

    Ich sehe mir mal gerade Dein Script an...
    Danke schonmal!
    Das Script bei mir war nur ein Bespiel. Sowas ist halt ausbaufähig.
    Wie du die Weiterleitung machen kannst, sagte ich ja auch schon. Du musst halt irgendwo die Seite oder so speichern, wo der User hin soll. Dieses musst du dann halt mit überprüfen. Das kannst du dann mit inder Überprüfung der Kundenseite einbauen.
    Viel Technik als Mittel zum Zweck....
    23 weis alles, 42 ist die Antwort und 242 steht außer Frage
    Ich danke euch allen. Selten so gut gelacht.
    Wer Ironie findet, darf sie behalten/RTFM
    Bei der Lösungssuche: selbst mitdenken hilft auch.
    Welle:Erdball - Nur tote Frauen sind schön - Lieber Gott


  8. #8
    Grahams Jubiläumsapfel
    Themenstarter

    Registriert
    10.2008
    Ort
    Koeln
    Beiträge
    107
    Servus!

    Ich danke Euch für Eure Hilfe soweit . . .

    Ich habe genau das richtige Script gefunden - man muss nur die richtigen Wörter zur Suche verwenden.
    Ich habe bei Google dann nach 'Login Redirect' gesucht...

    Hier das erste Ergebnis ...
    Viola!

    Alles gute fürs neue Jahr!
    Peter

Ähnliche Themen

  1. Datenpool-Lösung für Kunden-Login gesucht
    Von danro im Forum PHP & Co.
    Antworten: 1
    Letzter Beitrag: 12.05.2009, 15:12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •