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...
Du musst angemeldet sein, um einen Kommentar abzugeben.
kurze version 😉
HTML
Datei:change.php: