tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
553
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    DrBonsai DrBonsai ist offline Mitglied Silber
    Registriert seit
    Mar 2010
    Beiträge
    52
    Hallo allerseits,
    ich habe ein kleines Logi-Script geschrieben. Gibt nur ein PW. Also hab ich keine mySQL-DB dahinter.

    Und zwar soll das Script einfach die Verbindung zu einer DB aufbauen, wenn das richtige PW eingegeben wurde. Klappt auch theroretisch. Allerdings ist die Verbindung wieder weg, sobald ich auf einen submit-Button klicke.
    Das liegt daran, dass meine Variable, die das eingegeben Passwort enthält nicht dauerhaft zur Verfügung steht. -> Sobald ich submitte, ist die Variable leer und die Verbindng zur DB wird nicht geöffnet.

    Wie kann ich also dafür sorgen, dass der Inhalt der Variable erhalten bleibt?

    Hier mein Code:

    login-formular:
    HTML-Code:
    <form method="POST" action="novo_cliente1.php"> 
    <table border="1">
    <tr>
    	<td>User:</td>	
    	<td>Palavra-Passe:</td>
    </tr>
    <tr>
    	<td><input type="text" size="20" name="user"/></td>	
    	<td><input type="text" size="20" name="password"/></td>
    </tr>
    <tr>
    	<td colspan = "2" border="0"><input type="submit" value="novo" name="login"/></td>
    </tr>
    </table>
    </form>
    novo_cliente1.php:
    PHP-Code:
    <input type="hidden" value="<?php echo $_POST["password"?>" name="password" size="27" />
    <?php
    $password 
    $_POST["password"];
    if (
    $password == "primaveira" )
        {
        include 
    "novo_cliente.php";
        }
        else
            {
            echo 
    "O login não teve sucesso. <br/> <a href=login.php>Faça clique aqui, para voltar e tentar outra vez</a>! (login war nicht erfolgreiche ->Link zum Login-Formular)";
            }
    ?>
    Novo cliente.php:
    PHP-Code:
    <?php //Verbindung zur DB, wenn PW=="primaveira"
    if ($password == "primaveira")
        {
        
    $db_connect=mysql_connect("...");
        
    $db_select=mysql_select_db("..."$db_connect);
        
    //echo $password; //funciona
        
    }
        else
            {
            echo 
    "não há ligação" ;
            }
    ?>
    <form method="POST" action="novo_cliente.php"> 
    [...] // Formular, das infos in Variablen umsetzt
    </form> 
    <?php 
    [...] //wenn Submit geklickt wird, dann schreib Variablen-Infos in DB
    ?>
    Ist erkennbar, wo mein Problem liegt?
    Nach klicken auf Submit steht die Variable $password (aus dem Feld in login.php) nicht mehr zur Verfügung. Deswegen gibt es keine Verbidnung zur DB.

    Kann hier jemand helfen?
    mfg,
    David
     

  2. #2
    Avatar von CookieBuster
    CookieBuster CookieBuster ist offline <?= "Hello World" ?>
    Registriert seit
    Sep 2008
    Ort
    Münsingen (BW)
    Beiträge
    420
    Blog-Einträge
    4
    Einfach in die Session speichern, dass das Passwort bereits korrekt eingegeben war und dann immer erst auf die Session prüfen bevor du nach dem Passwort fragst.
     
    There are only 10 types of people in the world — those who understand binary, and those who don't.

    Mach mal einer das Licht an, ich hör nix!

    Why is 6 afraid of 7? Because 7 8 9.

  3. #3
    DrBonsai DrBonsai ist offline Mitglied Silber
    Registriert seit
    Mar 2010
    Beiträge
    52
    Zitat Zitat von CookieBuster Beitrag anzeigen
    Einfach in die Session speichern, dass das Passwort bereits korrekt eingegeben war und dann immer erst auf die Session prüfen bevor du nach dem Passwort fragst.
    Hmm,
    gut, aber jetzt werde ich mit jedem PW eingelogt:
    login.php
    PHP-Code:
    <?php
    session_start
    ();
        
    $password $_POST['password'];
        if ( 
    $password == "primaveira" 
            {
            
    $_SESSION['phplogin'] = true;
            }    
    ?>
    Das steht GANZ am Anfang meines Codes. So muss es doch sein, oder?

    Angezeigt werden, soll dann halt das Formular nur, wenn $_SESSION['phplogin'] = true;
    Also:
    novo_cliente1.php
    PHP-Code:
    <?php
    if ($_SESSION['phplogin'] == true)
        {
        include 
    "novo_cliente.php";
        }
        else
            {
            echo 
    "O login não teve sucesso. <br/> <a href=login.php>Faça clique aqui, para voltar e tentar outra vez</a>!";
            }
    ?>
    Allerdings, wie gesagt, jetzt wird wohl auch $_SESSION['phplogin'] = true; gesetzt, wenn ich ein anderes PW eingebe....

    David
     

  4. #4
    DrBonsai DrBonsai ist offline Mitglied Silber
    Registriert seit
    Mar 2010
    Beiträge
    52
    Ich bion doch auch ein Spack!

    hab natürlich den Inhalt von $_SESSION['phplogin'] in der flaschen Datei abgefragt. Mein Formular öffnet ja novo_cliente1.php, also muss auch dort mit der Variablen weiter gearbeitet werden....

    Problem gelöst.
    Reinhaun,
    David
     

Ähnliche Themen

  1. Objekt global verfügbar machen
    Von Igäl im Forum PHP
    Antworten: 3
    Letzter Beitrag: 15.12.08, 18:21
  2. EJB überall verfügbar machen ?
    Von KarlRannseier im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 2
    Letzter Beitrag: 14.02.08, 22:22
  3. Profildaten applikationsübergreifend verfügbar machen? Wie?
    Von DanyCode im Forum .NET Web und Kommunikation
    Antworten: 7
    Letzter Beitrag: 09.08.05, 21:08
  4. php news für wap (WML) verfügbar machen
    Von Zest im Forum Sonstige Sprachen
    Antworten: 0
    Letzter Beitrag: 05.05.05, 13:28
  5. Seite offline verfügbar machen?
    Von mnbvcxy im Forum PHP
    Antworten: 4
    Letzter Beitrag: 08.01.05, 12:36

Stichworte