wie kann man angemeldete Benutzer AKTUALISIEREN / BEARBEITEN Sie Ihre Profil-Einstellungen/Informationen

Frage auf der hand:

Wie erstelle ich den php-code, damit Benutzer, die angemeldet sind, meine Seite zu Bearbeiten/aktualisieren Sie Ihre Profil-Einstellungen/Informationen?

Ich habe den 1 Teil richtig funktioniert für die Nutzer, Ihr Passwort zu ändern, haben jedoch keine Ahnung, wo zu beginnen, wenn es kommt, um zu ermöglichen, dass Benutzer, die eingeloggt sind zu Bearbeiten/aktualisieren Sie Ihre anderen Einstellungen wie:

(1) nickname,
(2) Land,
(3) Geburtsdatum,
(4) Geschlecht,
(5) motto und
(6) bio


Werde ich die php-und html-code unten, dass ich habe, die arbeiten für das Kennwort ändern, aber ich weiß, dass ich brauche mehr, um Benutzern das ändern/Bearbeiten/aktualisieren Sie Ihre weitere Informationen. Ich habe versucht, mit dem, was ist unten als Referenz für die Erstellung der php-code für den anderen Informationen, aber es hat nicht funktioniert, also habe ich keine Ahnung, wo Sie beginnen sogar! Jede Hilfe wird sehr geschätzt...

PHP-Referenz-code:

if($_POST['submit']=='Change')
{
    $err = array();
    if(!$_POST['password1'] || !$_POST['passwordnew1'])
        $err[] = 'All the fields must be filled in!';
    if(!count($err))
    {
        $_POST['password1'] = mysql_real_escape_string($_POST['password1']);
        $_POST['passwordnew1'] = mysql_real_escape_string($_POST['passwordnew1']);
        $row = mysql_fetch_assoc(mysql_query("SELECT id,username FROM members WHERE username='{$_SESSION['username']}' AND pass='".md5($_POST['password1'])."'"));
        if($row['username'])
    {
        $querynewpass = "UPDATE members SET pass='".md5($_POST['passwordnew1'])."' WHERE username='{$_SESSION['username']}'";
        $result = mysql_query($querynewpass) or die(mysql_error());
        $_SESSION['msg']['passwordchange-success']='* You have successfully changed your password!';
    }
        else $err[]='Wrong password to start with!';
    }
    if($err)
    $_SESSION['msg']['passwordchange-err'] = implode('<br />',$err);
    header("Location: members.php?id=" . $_SESSION['username']);
    exit;
}

HTML-Referenz-code:

<form action="" method="post"> 
    <label class="grey" for="password1">Current Password:</label>
    <input class="field" type="password" name="password1" id="password1" value="" size="23" />
    <label class="grey" for="password">New Password:</label>
    <input class="field" type="password" name="passwordnew1" id="passwordnew1" size="23" />
    <input type="submit" name="submit" value="Change" class="bt_register" style="margin-left: 382px;" />
      <div class="clear"></div>
    <?php
    if($_SESSION['msg']['passwordchange-err'])
    {
        echo '<div class="err">'.$_SESSION['msg']['passwordchange-err'].'</div>';
        unset($_SESSION['msg']['passwordchange-err']);
    }
    if($_SESSION['msg']['passwordchange-success'])
    {
        echo '<div class="success">'.$_SESSION['msg']['passwordchange-success'].'</div>';
        unset($_SESSION['msg']['passwordchange-success']);
    }
    ?>
</form>

Also wie würde ich es schaffen, den php-code um diese Arbeit zu machen für die Benutzer in der Lage sein, zu Bearbeiten/aktualisieren Sie Ihre eigenen Profil-Einstellungen/Informationen aus der numerischen Liste, die ich oben bereitgestellt (1-6)?

Und ich weiß, mit mysqli/pdo ist eine bessere alternative zu verwenden, aber ich brauche leider die alte veraltete mysql_* Sachen, die für dieses Projekt zu diesem Zeitpunkt...

Wenn Ihr mehr Infos braucht, lasst es mich wissen 😉

BEARBEITEN:
Zusätzliche Frage,

Ich würde davon ausgehen, dass ich brauchen würde, um erstellen von Variablen für jede Spalte zu wie:

$nickname = $_POST['nickname'];

$Land = $_POST['Land'];

etc...oder ist das nicht korrekt?

RE-EDIT:

Wäre so etwas wie diese anwendbar sein?

$id = $_SESSION['id'];
if ($_POST['country']) {
    $country = $_POST['country'];
    $nickname = $_POST['nickname'];
    $DOB = $_POST['DOB'];
    $gender = $_POST['gender'];
    $motto = $_POST['motto'];
    $bio = $_POST['bio'];
    $sql = mysql_query("UPDATE members SET country='$country', nickname='$nickname', DOB='$DOB', gender='$gender', motto='$motto', bio='$bio' WHERE id='$id'"); 

exit;
}

$sql = mysql_query("SELECT * FROM members WHERE id='$id' LIMIT 1");
while($row = mysql_fetch_array($sql)){
$country = $row["country"];
$nickname = $row["nickname"];
$DOB = $row["DOB"];
$gender = $row["gender"];
$motto = $row["motto"];
$bio = $row["bio"];
}

Oder bin ich Weg Basis?

  • diese Fragen von dir sind viel zu breit.
  • "leider müssen die alten veralteten mysql_* Sachen, die für dieses Projekt zu diesem Zeitpunkt" bedeutet, dass Sie stecken mit einem älteren Projekt?
  • wenn von legacy-Projekt, das Sie bedeuten, mit der veralteten mysql-Zeug, dann leider ja...
InformationsquelleAutor Michael | 2013-08-20
Schreibe einen Kommentar