Passwort ändern oder Registrier Script für Login Script

SSchaffrath

Grünschnabel
Hallo
Ich bräuchte eure Hilfe
Und zwar habe ich jetzt nach diesem Tutorial ein Login Script auf meine HP eingebaut:

http://www.tutorials.de/forum/php-tutorials/9684-php-mysql-login-system-mit-sessions.html

Und zwar möchte ich gerne das sich der User selber Registrieren kann
oder wenn ich sie Registrier per register.php das sie später ihr Passwort ändern können

Da das Login Script sowieso nur für eine Virtuelle Speditions Homepage ist soll sich nicht jeder Registrieren können also würde ich wenn man es per Registrier Formular machen würde das Formular nur hochladen wenn sich ein Neuer Fahrer Registrieren soll oder das mit Passwort ändern in einen Profil Bereich hineintuhen würde
 
Also
Ich sags mal so
Ich habe von anderen Tutorialen die einen etwas Umfangreicheren Login Bereich hatten versucht da etwas umzuschreiben aber das Problem was ich habe ist das mit der ID wo man Manuell immer eine Höhergehen muss
 
Mh ich vermute mal du arbeitest mit einer mysql datenbank?
Dann sollte deine ID ein primary key mit der attribute auto_inkrement sein und schon zählt er von selbst die ID hoch beim Anlegen eines Users ;)

Ansonsten wenn du Probleme hast einfach die Frage mit Lösungsansatz oder Codeausschnitt posten und schon können wir dir helfen ;)
 
So das hab ich jetzt mal rausgesucht aber ich komm damit nicht klar
das was ich mit der ID meine ist das

PHP:
// Definition der Benutzer
$benutzer[0]["Nickname"] ="Nickname";
$benutzer[0]["Kennwort"] = "PW";
$benutzer[0]["Nachname"] = "Nachname";
$benutzer[0]["Vorname"] = "Vorname";


// Sie können an dieser Stelle beliebig viele Benutzer anlegen.
// Achten Sie dabei nur auf die Fortführung der Nummer.

Code:
<?php session_start(); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"/>
      <title>Passwort ändern</title>
        <link rel="stylesheet" type="text/css" href="style.css"/>
    </head>
    <body>
<?php if(!isset($_SESSION['user_id'])) { ?>
        nur angemeldete Benutzer können Ihr Passwort ändern


        Zur Anmeldung
<?php
}
else if ( false===($errors=validateInput()) ) {
    require('connect.inc.php');

//wie änder ich das zb. um das ich da die daten von der mysql angebe und nicht von einer datei abfrage?

    $queryParms['user'] = mysql_real_escape_string($_SESSION['user']);
    $queryParms['oldPW'] = md5($_POST['oldPW']);
    $queryParms['newPW'] = md5($_POST['newPW']);

    $query = "UPDATE users SET pass='".$queryParms['newPW']
            ."' WHERE user='".$queryParms['user']
            ."' AND pass='".$queryParms['oldPW']."'";
    mysql_query($query) or die('Fehler beim Eintragen der neuen Werte');

    if (1!=mysql_affected_rows())
    {
        $errors = array();
        $errors['oldPW'] = 'Ihr altes Passwort stimmt nicht';
    }
    else
        echo 'Passwort wurde geändert';
}

if (false!==$errors) { ?>
        <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
            <table width="400" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1" align="center">
              <tr>
                <td bgcolor="#e7e7e7" align="center" colspan="2">
                    Ändern des Passwortes für Benutzer <?php echo $_SESSION['user_id']; ?>
                </td>
              </tr>
              <tr>
                <td width="170" bgcolor="#e7e7e7">bisheriges Passwort</td>
                <td width="230" bgcolor="#ffffff">
                    <input type="password" name="oldPW" size="20" class="input" />
                    <?php if (isset($errors['oldPW'])) echo '
', $errors['oldPW']; ?>
                </td>
              </tr>
              <tr>
                <td width="170" bgcolor="#e7e7e7">neues Passwort</td>
                <td width="230" bgcolor="#ffffff">
                    <input type="password" name="newPW" size="20" class="input" />
                    <?php if (isset($errors['newPW'])) echo '
', $errors['newPW']; ?>
                </td>
              </tr>
              <tr>
                <td width="170" bgcolor="#e7e7e7">neues Passwort wiederholen</td>
                <td width="230" bgcolor="#ffffff">
                    <input type="password" name="repeatPW" size="20" class="input" />
                    <?php if (isset($errors['repeatPW'])) echo '
', $errors['repeatPW']; ?>
                </td>
              </tr>
              <tr>
                <td bgcolor="#e7e7e7" align="center" colspan="2">
                    <input type="submit" name="submit" value="Anmelden" class="button" />
                </td>
              </tr>
            </table>
        </form>
<?php
}


function validateInput()
{
    if ( !isset($_POST['oldPW']) || !isset($_POST['newPW']) || !isset($_POST['repeatPW']) )
        return array();

    $retval = array();
    if(5 > strlen($_POST['newPW']))
        $retval['newPW'] = 'Das Passwort ist zu kurz';

    if($_POST['newPW'] !== $_POST['repeatPW'])
        $retval['repeatPW'] = 'Die "Wiederholung" des Passwortes unterscheidet sich von der ersten Eingabe';

    return (empty($retval)) ? false : $retval;
}
?>
 
Dann präzisiere bitte deine Problemstellung.
Ich verstehe nämlich nicht wo eine ID inkrementiert werden soll.....

Ins blaue geraten:
count($benutzer)
gibt dir die nächste freie ID zurück.
 
Hallo
Ja wenn ich diese ID weglasse das wo jetzt 0 steht dann gibt er mir ein fehler das keine id angegeben wurde
Weil wenn ich jetzt wieder einen mit 0 registrier dann überschreibt er ihn
 
PHP:
$benutzer = array();
array_push($benutzer,array("Nickname" => "Nickname", "Kennwort" => "PW", "Nachname" => "Nachname", "Vorname" => "Vorname"));
array_push($benutzer,array("Nickname" => "Nickname2", "Kennwort" => "PW2", "Nachname" => "Nachname2", "Vorname" => "Vorname2"));
 

Neue Beiträge

Zurück