Hallo liebe PHP User
ich habe meinen Code überarbeitet und er funktioniert 99,999% !
Positiv:
Bildupload findet statt so wie es sein soll.
Eintrag in die Datenbank wird gemacht.
Das Bild wird so 100% benannt wie es war mit dem Zusatz der Userid
z.B: 2_datei.jpg
Negativ:
Der Eintrag in die Datenbank ist Fehlerhaft und zwar wird der Bildname so eingetragen:
anstatt 2_datei.jpg
wird es mit 2_.datei.jpg eingetragen.
Es wäre lieb, wenn mir da jemand helfen könnte.
mfg
Wm2k6
PHP-Code:
<?PHP
///Variablen festlegen
$todo=htmlspecialchars($_POST['todo1']);
$bild=htmlspecialchars($_POST['bild']);
$pseudo = "avatar/blankoavatar.jpg";
$userid =$_SESSION[uid];
///Datenbank auslesen
$sql1 = "SELECT * FROM profil WHERE `user_id`='$userid'";
$res1 = mysql_query($sql1) or die(mysql_error());
$row = mysql_num_rows($res1);
$row1 = mysql_fetch_assoc($res1);
////Bildupload Start / Variablen festlegen
$path = "avatar/".$userid."_";
$max_size = 30000;
$endung = array("jpg","gif","png");
$name = $_FILES['bild']['name'];
$explode = explode(".", $name);
$this_end = $explode[1];
$size = $_FILES['bild']['size'];
$temp = $_FILES['bild']['tmp_name'];
////Starten der Verarbeitung
if(isset($todo) and $todo=="update-avatar"){
$status = "OK";
$msg="";
echo "<fieldset><legend class=\"legend\"> Meldung </legend>\n";
///Prüfung ob Dateiendung erlaubt ist
if(!in_array ($this_end, $endung)) {
$msg="Nur Bilder mit der Endung jpg, gif, png sind zulässig.<BR>";
$status= "NOTOK";
}
///Prüfung ob Datei die zulässsige Grösse hat
if($size > $max_size){
$msg="Die Bilder dürfen nicht grösser als 30kb sein.<BR>";
$status= "NOTOK";
}
echo "<fieldset><legend class=\"legend\"> Meldung </legend>\n";
// Fehlermeldungen ausgeben
if($status<>"OK"){
echo "<font face='Verdana' size='2' color=red>$msg</font><br><input type='button' value='Retry' onClick='history.go(-1)'>";
echo "</fieldset>";
}else{ // wenn alle überprüfungen ok sind.
if(move_uploaded_file($temp, $path.$name)){
///Eintrag in die Datenbank
mysql_query("update profil set avatar='$path.$name' where user_id='$userid'") or die (mysql_error());
///Meldung wenn alles ok ist
echo "<font face='Verdana' size='2' color=green>Dein Avatar wurde erfolgreich hochgeladen.<br></font>";
echo '<script language="JavaScript">setTimeout("self.location=\'index.php?section=profil\'", 2000);</script>';
echo "</fieldset>";
////Fehlermeldung
}else{
echo "<font face='Verdana' size='2' color=red>Fehler: Bitte kontaktiere den Webmaster.<br></font>";}
echo "</fieldset>";
}
}
?>