PHP Login mit MYSQL

Taucher_2006

Mitglied
Hi Forum,

ja nun ist es auch bei mir soweit das ich kurz vor meiner Prüfung zum IT Systemelektroniker stehe und ein Teil meiner Projektarbeit ein Loginscript mit MYSQL beinhaltet. Leider hatten wir dieses Thema nur angerissen. Auf der Suche bin ich auf ein Tutorial hier im Forum gestoßen, das ich recht gut verstanden habe bis auf den Part mit dem Eintrag in die MYSQL Tabelle. Dieses http://www.tutorials.de/forum/php-tutorials/289098-login-mit-php-und-mysql.html

Damit die Mitarbeiter sich selbständig ein Passwort vergeben können muss ja die Tabelle mit Leben gefüllt werden. Dieses will ich über ein Anmeldformular lösen. Der Aufbau ist auch soweit klar.
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Registrieren</title>
</head>
<body link="#485A8B" vlink="#485A8B" alink="#485A8B">
Bitte registrieren Sie sich:<br>
<form name="Eingabe" action="sql.php" method="post">  //Script zu Eintrag in MYSQL
Benutzername:<br>
<input type="text" class="input" name="benutzer" size="20"><br>
Passwort:<br>
<input type="password" class="input" name="pass" size="20"><br>
E-Mail Adresse:<br>
<input type="text" class="input" name="mail" size="20"><br><br>
<input type="submit" class="input" value="Registrieren">
<input type="reset" class="input" value="Reset">
</form>
<a href="vergessen.html">Passwort vergessen?</a>
</body>
</html>
Doch dann scheitere ich an der Eintragefunktion in die Tabelle. Ich verstehen den Aufruf nicht ganz.
PHP:
INSERT INTO users SET UserName='admin', UserPass=MD5('tutorial'),
Wie muss das richtig aussehen, damit auch etwas (die Daten aus dem Formular) dort eingetragen werden. Ich hoffe Ihr könnt mir hierbei helfen und bedanke mich im voraus.

MFG Taucher:rolleyes:
 
Meinst du so?
PHP:
<?php
  $sqlConf['Server']    = "localhost";
  $sqlConf['Benutzer']  = "root";
  $sqlConf['Passwort']  = "nichtroot";
  $sqlConf['Datenbank'] = "test";
  $sqlConf['Tabelle']   = "user";
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <title>Registrieren</title>
  </head>
  <body link="#485A8B" vlink="#485A8B" alink="#485A8B">

<?php
if($_POST['submit']){
  $sqlLink = mysql_connect($sqlConf['Server'], $sqlConf['Benutzer'], $sqlConf['Passwort'])
    or die("Keine Verbindung zum MySQL Server m&ouml;glich<br />\n".mysql_error()."\n");
  mysql_select_db($sqlConf['Datenbank'])
    or die("Keine Verbindung zur SQL Tabelle m&ouml;glich<br />\n".mysql_error()."\n");
  $sqlQuery = sprintf("INSERT INTO ".$sqlConf['Tabelle']." (benutzer, pass, mail) VALUES ('%s', '%s', '%s')",
                      mysql_real_escape_string($_POST['benutzer']),
                      md5(mysql_real_escape_string($_POST['pass'])),
                      mysql_real_escape_string($_POST['mail']));
  mysql_query($sqlQuery);
  mysql_close($sqlLink);
  echo("Alles kl&auml;rchen ;D\n");
}else{
  echo <<< EOT
  Bitte registrieren Sie sich:<br />
  <form name="Eingabe" action="#" method="POST">
    Benutzername:<br />
    <input type="text" class="input" name="benutzer" size="20" /><br />
    Passwort:<br />
    <input type="password" class="input" name="pass" size="20" /><br />
    E-Mail Adresse:<br />
    <input type="text" class="input" name="mail" size="20" /><br /><br />
    <input type="submit" class="input" name="submit" value="Registrieren" />
    <input type="reset" class="input" value="Reset" />
    </form>
    <a href="vergessen.html">Passwort vergessen?</a>
EOT;
}
?>

  </body>
</html>
Btw. warum ist dieses Thread eigentlich nun als "Erledigt" markiert? :0
 
Hi,

danke für die Antwort werde es heute Abend testen.
Ich war selber erstaunt das mein Beitrag auf erledigt stand, was ich nicht bewusst eingegeben habe. Leider habe ich nicht den Weg gefunden ihn zuändern.

Taucher
 
hi,
ich nochmal, wie kann ich es erreichen das ich nur eine Datei pflegen muss? In dem Beispiel sind ja die Variablen unterschiedlich. Diese Datei wollte ich pflegen.
PHP:
<?
function connect()
{
    
     $con= mysql_connect('servername','benutzer','passwort') or die(mysql_error());
     mysql_select_db('datenbank, die die Benutzertabelle enthält',$con) or die(mysql_error());
}

function check_user($name, $pass)
{
    $sql="SELECT UserId
    FROM user
    WHERE Benutzer='".$name."' AND Passwort=MD5('".$pass."')
    LIMIT 1";
    $result= mysql_query($sql) or die(mysql_error());
    if ( mysql_num_rows($result)==1)
    {
        $user=mysql_fetch_assoc($result);
        return $user['UserId'];
    }
    else
        return false;
}
function login($userid)
{
    $sql="UPDATE user
    SET useression='".session_id()."'
    WHERE UserId=".$userid;
     mysql_query($sql);
}
function logged_in()
{
    $sql="SELECT UserId
    FROM user
    WHERE useression='".session_id()."'
    LIMIT 1";
    $result= mysql_query($sql);
      return ( mysql_num_rows($result)==1);
}
function logout()
{
    $sql="UPDATE user
    SET useression=NULL
    WHERE useression='".session_id()."'";
     mysql_query($sql);
}
connect();
?>
Aber das Beispiel passt leider nicht mit dieser Datei überein. Wie musses richtig sein?
PHP:
<?php include 'sessionhelpers.inc.php'; ?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <title>Registrieren</title>
  </head>
  <body link="#485A8B" vlink="#485A8B" alink="#485A8B">

<?php
if($_POST['submit']){
  $sqlLink = mysql_connect($sqlConf['Server'], $sqlConf['Benutzer'], $sqlConf['Passwort'])
    or die("Keine Verbindung zum MySQL Server m&ouml;glich<br />\n".mysql_error()."\n");
  mysql_select_db($sqlConf['Datenbank'])
    or die("Keine Verbindung zur SQL Tabelle m&ouml;glich<br />\n".mysql_error()."\n");
  $sqlQuery = sprintf("INSERT INTO ".$sqlConf['Tabelle']." (Benutzer, Passwort, EMail) VALUES ('%s', '%s', '%s')",
                      mysql_real_escape_string($_POST['Benutzer']),
                      md5(mysql_real_escape_string($_POST['Passwort'])),
                      mysql_real_escape_string($_POST['EMail']));
  mysql_query($sqlQuery);
  mysql_close($sqlLink);
  echo("Alles kl&auml;rchen ;D\n");
}else{
  echo <<< EOT
  Bitte registrieren Sie sich:<br />
  <form name="Eingabe" action="#" method="POST">
    Benutzername:<br />
    <input type="text" class="input" name="Benutzer" size="20" /><br />
    Passwort:<br />
    <input type="password" class="input" name="Passwort" size="20" /><br />
    E-Mail Adresse:<br />
    <input type="text" class="input" name="EMail" size="20" /><br /><br />
    <input type="submit" class="input" name="submit" value="Registrieren" />
    <input type="reset" class="input" value="Reset" />
    </form>
    <a href="vergessen.html">Passwort vergessen?</a>
EOT;
}
?>

  </body>
</html>

MFG Taucher

PS Thema ist nicht erledigt Ist nur ein versehen!!
 

Neue Beiträge

Zurück