Profil Edit Fehler

Sehr hilfreich.
Passiert nichts? Passiert etwas falsches? Kommt eine Fehlermeldung?

Nach dem ich das eine geändert habe in Copy kommt nun die fehlermeldung ... So das Updaten der Daten wie Name oder so geht.
Code:
Avatar unbekannt
Warning: copy(/img/avatar/tamas.jpg): failed to open stream: No such file or directory in /var/www/vhosts/dreambeatsfm.de/dreambeatsfm.de/inc/profiledit.php on line 66
Array ( [avatar] => Array ( [name] => tamas.jpg [type] => image/jpeg [tmp_name] => /tmp/phpaye5Q4 [error] => 0 [size] => 6602 ) )
 
Hallo ich nochmal ein kleines Update von mir ...

wenn ich ein bild auswähle und auf upload klicke wird es auf denn server geladen ... die datei existiert dann ... das einzige was nicht passiert ist das update in die datenbank also die img url was mache ich falsch

PHP:
if (isset($_POST['fileToUpload'])) {
  
    $avatar = (isset($_POST['fileToUpload'])) ? $_POST['fileToUpload'] : $row['avatar'];
    $target_dir = "img/avatar/";
    $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
    $uploadOk = 1;
    $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
  
    $sql = sprintf('UPDATE user
        SET
        avatar = "%1$s",
        WHERE id = %2$d',
        mysqli_real_escape_string( $DBCON, $target_file),
        (int)$user
        );
    $the_query = mysqli_query($DBCON,$sql);

    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
// Check if file already exists
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
}

und das ist der Upload Button

HTML:
<form method="POST" enctype="multipart/form-data">
<label for="avatar">Profilbild:</label>
        <input type="file" name="fileToUpload" id="fileToUpload">
        <input type="submit" value="Upload Image" name="fileToUpload"></form>
 
Diese Zeile ist gemeint:
Code:
$the_query = mysqli_query($DBCON,$sql);
Mach direkt davor einmal testweise ein
Code:
echo $sql;
und zeig uns, was das beim Ausführen ausgibt
 
Diese Zeile ist gemeint:
Code:
$the_query = mysqli_query($DBCON,$sql);
Mach direkt davor einmal testweise ein
Code:
echo $sql;
und zeig uns, was das beim Ausführen ausgibt

Das ist die antwort nachdem ich image hochgeladen habe
Code:
UPDATE user SET avatar = "img/avatar/tamas.jpg", WHERE id = 35File is an image - image/jpeg.The file tamas.jpg has been uploaded.

es steht dennoch nicht in der datenbank ...
 
Kleines Update und kleine Frage.

Das Hochladen funktioniert und das eintragen in die Datenbank auch ... Jippie :)

Nun zu einem Problem ich würde gerne die datei beim hochladen automatisch umbennen

das muss ich doch dann in diesem Code Teil machen oder?
PHP:
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
 
Deine Abfrage sollte lauten:
SQL:
UPDATE `user` SET `avatar` = "img/avatar/tamas.jpg" WHERE `id` = 35

Du hast da ein Kommata was da nicht hingehört, deswegen wird es entsprechend in der DB nicht angepasst. :)
 
Zurück