TamasL
Mitglied
Hallo Helfer und Helferinnen,
ich bin es "schon" wieder :'(
Ich hab ein Problem ich habe einen Auftrag von einem Kunden übernommen ... dessen Vorgänger hat eine Profil Edit angelegt die nicht ein bisschen funktioniert ...
Hier die profiledit.php
ich blicke bei diesem Code nicht wirklich durch daher dachte ich mir ... schreibst halt eine neue ...
Leichter gesagt als getan da ich noch nie eine Edit Funktion mit integriertem Upload Funktion geschrieben habe ... Nun meine Frage: Könnt ihr mir vllt Anhaltspunkte geben wie ich das ganze aufbauen kann. Ach so was wichtig ist das ganze wurde/wird mit MYSQLI geschrieben. Ich hoffe ihr könnt mir helfen ... ich hatte auch nicht vorher irgendwas fertiges zu nehmen ... daher bin ich über jeden Link über jeden Anhaltspunkt froh ...
Mit freundlichen Grüßen
Tamas Labanc
ich bin es "schon" wieder :'(
Ich hab ein Problem ich habe einen Auftrag von einem Kunden übernommen ... dessen Vorgänger hat eine Profil Edit angelegt die nicht ein bisschen funktioniert ...
Hier die profiledit.php
PHP:
<?php
/**
* Profil editieren
*/
?>
<?php
/**
* Berechtigungsabfrage
*/
if (!isset($_SESSION['UID'])) {
echo 'Du hast keine Berechtigungen für diese Funktion!';
return;
}
$user = (int)$_SESSION['UID'];
/* Datenbankabfragen */
$sql = "SELECT * FROM user WHERE id = $user";
$the_query = mysqli_query($DBCON,$sql);
$row = mysqli_fetch_assoc($the_query);
/**
* Funktion zum Darstellen des HTML-Values
* @author Malte Zwillus
*/
function the_html_value($db_entry)
{
/* Wurde überhaupt ein Parameter gesetzt? */
if (empty($db_entry)) {
return false;
}
/* Datenbankabfragen hereinziehen */
global $row;
/* Prüft ob Datenbankeintrag verfügbar */
if ($row[$db_entry]) {
echo "value='<?php {$row[ $db_entry ]} ?>'";
return true;
}
}
/* Prüft ob der Benutzer sein Profil ändert */
if (isset($_POST['profiledit'])) :
if (isset($_POST['avatar'])) {
echo "Avatar bekannt";
} else {
echo "Avatar unbekannt";
}
$uploaddir = '/img/avatar/';
$uploadfile = $uploaddir . basename($_FILES['avatar']['name']);
if (move_uploaded_file($_FILES['avatar']['tmp_name'], $uploadfile)) {
echo "Datei ist valide und wurde erfolgreich hochgeladen.\n";
}
print_r($_FILES);
/* Definiert lokale Variablen */
$rang = (isset($_POST['rang'])) ? $_POST['rang'] : $row['userstatus'];
$avatar = (isset($_POST['avatar'])) ? $_POST['avatar'] : $row['avatar'];
$name = (isset($_POST['name'])) ? $_POST['name'] : $row['vorname'];
$email = (isset($_POST['email'])) ? $_POST['email'] : $row['email'];
$url = (isset($_POST['url'])) ? $_POST['url'] : $row['url'];
$gender = (isset($_POST['gender'])) ? $_POST['gender'] : $row['geschlecht'];
$bday = (isset($_POST['bday'])) ? $_POST['bday'] : $row['geburtsdatum'];
$hobby = (isset($_POST['hobby'])) ? $_POST['hobby'] : $row['hobby'];
$music = (isset($_POST['music'])) ? $_POST['music'] : $row['musik'];
$farbe = (isset($_POST['farbe'])) ? $_POST['farbe'] : $row['farbe'];
$essen = (isset($_POST['essen'])) ? $_POST['essen'] : $row['essen'];
$sig = (isset($_POST['sig'])) ? $_POST['sig'] : $row['signatur'];
$software = (isset($_POST['soft'])) ? $_POST['soft'] : $row['software'];
$hardware = (isset($_POST['hard'])) ? $_POST['hard'] : $row['hardware'];
$genre = (isset($_POST['genre'])) ? $_POST['genre'] : $row['genre'];
$book = (isset($_POST['book'])) ? $_POST['book'] : $row['booking'];
$username = (isset($_POST['username'])) ? $_POST['username'] : $row['username'];
$password = (isset($_POST['rnewpassword'])) ? $_POST['rnewpassword'] : false;
$sql = sprintf(
'UPDATE user
SET
username = "%1$s",
userstatus = "%2$s",
vorname = "%3$s",
email = "%4$s",
geschlecht = "%5$s",
geburtsdatum = "%6$s",
hobby = "%7$s",
avatar = "%8$s",
url = "%9$s",
signatur = "%10$s",
musik = "%11$s",
farbe = "%12$s",
essen = "%13$s",
genre = "%14$s",
software = "%15$s",
hardware = "%16$s",
booking = "%17$s"
WHERE id = %18$d',
mysqli_real_escape_string( $DBCON, $username),
mysqli_real_escape_string( $DBCON, $rang),
mysqli_real_escape_string( $DBCON, $name),
mysqli_real_escape_string( $DBCON, $email),
mysqli_real_escape_string( $DBCON, $gender),
mysqli_real_escape_string( $DBCON, $bday),
mysqli_real_escape_string( $DBCON, $hobby),
mysqli_real_escape_string( $DBCON, $avatar),
mysqli_real_escape_string( $DBCON, $url),
mysqli_real_escape_string( $DBCON, $sig),
mysqli_real_escape_string( $DBCON, $music),
mysqli_real_escape_string( $DBCON, $farbe),
mysqli_real_escape_string( $DBCON, $essen),
mysqli_real_escape_string( $DBCON, $genre),
mysqli_real_escape_string( $DBCON, $software),
mysqli_real_escape_string( $DBCON, $hardware),
mysqli_real_escape_string( $DBCON, $book),
(int)$user
);
$the_query = mysqli_query($DBCON,$sql);
endif;
/* Event wenn der Benutzer sein Profil löschen möchte */
if (isset($_POST['delete'])) :
$sql = "DELETE FROM user WHERE id = $user";
if ($the_query = mysqli_query($DBCON,$sql)) {
mysqli_query($DBCON,"DELETE FROM user_online WHERE usID='" . $user . "'");
session_destroy();
session_unset();
echo '<script>alert("Benutzer wurde gelöscht!"); location.href="../index.php";</script>';
}
endif;
if (isset($_POST['spassword'])) {
$profil = (int)$_SESSION['UID'];
$password = mysqli_real_escape_string( $DBCON, $_POST['password']);
$newpassword = mysqli_real_escape_string( $DBCON, $_POST['newpassword']);
$rnewpassword = mysqli_real_escape_string( $DBCON, $_POST['rnewpassword']);
if ($newpassword === $rnewpassword) {
$sql = "SELECT passwort FROM dbfm_test.user WHERE ID = $profil";
$the_query = mysqli_query($DBCON,$sql);
$row = mysqli_fetch_assoc($the_query);
if (password_verify($password, $row['passwort'])) {
$sql = sprintf(
'UPDATE dbfm_test.user SET passwort = "%1$s" WHERE ID = "%2$d";',
password_hash($newpassword,PASSWORD_BCRYPT, array("cost" => 12)),
$profil
);
if ($the_query = mysqli_query($DBCON,$sql)) {
echo 'Datenbank update erfolgreich!<br>';
}
} else {
echo 'Altes Passwort ist nicht korrekt.';
}
} else {
echo 'Die Passwörter stimmen nicht überein.';
}
}
?>
<div class="useredit">
<form method="POST" enctype="multipart/form-data" id="form1">
<label for="username">Username: <?php echo $row['username']; ?></label>
<?php
/**
*Rangvergabe
*Nur sichtbar wenn User den Userstatus Administrator besitzt
*/
if ($row['userstatus'] > 2) :
?>
<label for="rang">Rang:</label>
<select name="rang">
<option value="<?php echo $row['userstatus']; ?>" selected="selected">
<?php
switch ($row['userstatus']) {
case '1':
echo 'User';
break;
case '2':
echo 'Team';
break;
case '3':
echo 'Administrator';
break;
}
?>
</option>
<option value="1">User</option>
<option value="2">Team</option>
<option value="3">Administrator</option>
</select>
<?php endif; ?>
<label for="avatar">Profilbild:</label>
<input type="file" name="avatar" accept="image/*">
<label for="name">Vorname:</label>
<input type="text" name="name" <?php the_html_value('vorname'); ?>>
<label for="email">Email:</label>
<input type="text" name="email" <?php the_html_value('email'); ?>>
<label for="email_hidden">Möchtest du deine Emailadresse verstecken?</label>
<input type="checkbox" name="email_hidden" value="email_hidden"></input>
<label for="url">Homepage:</label>
<input type="text" name="url" <?php the_html_value('url'); ?>>
<label for="gender">Geschlecht:</label>
<select name="gender">
<option value="<?php echo $row['geschlecht']; ?>" selected="selected">
<?php
switch ($row['geschlecht']) {
case 'n':
echo 'Nicht Angegeben';
break;
case 'm':
echo 'Männlich';
break;
case 'f':
echo 'Weiblich';
break;
}
?>
</option>
<option value="n">Nicht Angegeben</option>
<option value="m">Männlich</option>
<option value="f">Weiblich</option>
</select>
<label for="bday">Geburtsdatum:</label>
<input type="text" name="bday" <?php the_html_value('geburtsdatum'); ?>>
<label for="hobby">Hobbys:</label>
<input type="text" name="hobby" <?php the_html_value('hobby'); ?>>
<label for="music">Lieblings Musik:</label>
<input type="text" name="music" <?php the_html_value('musik'); ?>>
<label for="farbe">Lieblings Farbe:</label>
<input type="text" name="farbe" <?php the_html_value('farbe'); ?>>
<label for="essen">Lieblings Essen:</label>
<input type="text" name="essen" <?php the_html_value('essen'); ?>>
<label for="sig">Signatur:</label>
<input type="text" name="sig" <?php the_html_value('sig'); ?>><br>
<?php
/**
* Moderator oder DJ Profil
* Nur sichtbar wenn User den Userstatus Team oder höher besitzt
*/
if ($row['userstatus'] > 1) :
?>
<label for="soft">Software:</label>
<input type="text" name="soft" <?php the_html_value('software'); ?>/>
<label for="hard">Hardware:</label>
<input type="text" name="hard" <?php the_html_value('hardware'); ?>>
<label for="genre">Musikrichtung:</label>
<input type="text" name="genre" <?php the_html_value('genre'); ?>>
<label for="book">Booking:</label>
<select name="book">
<option value="<?php echo $row['booking']; ?>">
<?php
/* Aktuellen Status ausgeben */
switch ($row['booking']) {
case 'j':
echo 'Ja';
break;
case 'n':
echo 'Nein';
break;
}
?>
</option>
<option value="j">Ja</option>
<option value="n">Nein</option>
</select><br>
<?php endif; ?>
<input type="submit" name="profiledit" value="Editieren" class="inline">
<input type="submit" name="delete" value="Profil löschen" class="inline"><br><br>
</div>
</form>
<form method="post" id="form2">
<label for="password">Altes Passwort</label><br>
<input type="password" name="password" required><br>
<label for="newpassword">Neues Passwort</label><br>
<input type="password" name="newpassword" required><br>
<label for="rnewpassword">Neues Passwort wiederholen</label><br>
<input type="password" name="rnewpassword" required><br>
<input type="submit" name="spassword" value="Passwort ändern">
</form>
ich blicke bei diesem Code nicht wirklich durch daher dachte ich mir ... schreibst halt eine neue ...
Leichter gesagt als getan da ich noch nie eine Edit Funktion mit integriertem Upload Funktion geschrieben habe ... Nun meine Frage: Könnt ihr mir vllt Anhaltspunkte geben wie ich das ganze aufbauen kann. Ach so was wichtig ist das ganze wurde/wird mit MYSQLI geschrieben. Ich hoffe ihr könnt mir helfen ... ich hatte auch nicht vorher irgendwas fertiges zu nehmen ... daher bin ich über jeden Link über jeden Anhaltspunkt froh ...
Mit freundlichen Grüßen
Tamas Labanc