PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Upload Fehlermeldung (http://www.selfphp.de/forum/showthread.php?t=26052)

nessa 26.09.2017 19:43:34

Upload Fehlermeldung
 
Hallo,

Ich habe ein html Formular, auf welchem man verschiedenen Datein anfügen kann und eine php skript, welches die Datein auf Fehler überprüft und die Datein, wenn kein Fehler vorhanden ist vom tmp Verzeichnis verschiebt.
Nun möchte ich aber, dass die Fehlermeldungen über oder unter den Uploads auf der html Formularseite erscheinen, damit der User diese gleich sieht.

Hat jemand eine Idee oder könnte mir sogar weiterhelfen?



Danke im Vorraus

nessa

chorn 27.09.2017 08:32:18

AW: Upload Fehlermeldung
 
PHP-Code:

<?php if($error) echo $error// oben oder unten im Template ?>

Tipp: Es hat warscheinlich keiner eine Ahnung wovon du sprichst, in welchem Kontext das sein soll und wie dein Script bisher aussieht.

nessa 27.09.2017 15:44:45

AW: Upload Fehlermeldung
 
Danke erstmal für die Antwort:)

html-datei:
HTML-Code:

...
<form name="Seite" method="POST" action="senden.php" enctype="multipart/form-data">       

<div class="flex-item">
<label >Sonstiges(*.jpg/*.png/*.gif))</label>
<input type="file" name="sonstiges" id="sonstiges" size="50" accept=".jpg, .png, .gif" >
</div>
                                                               
<input type="submit" value="Abschicken" name="btn[hochladen]">
</form>
...

senden.php:
PHP-Code:

if(isset($_POST['btn']['hochladen'])){
if (
$_SERVER["REQUEST_METHOD"] == "POST" && !empty($_FILES["sonstiges"])) {
        
$myFile $_FILES["sonstiges"];
        if (
$myFile["error"] !== UPLOAD_ERR_OK) {
            echo 
"<p>An error occurred.</p>";
            exit;
        }
        
// verify the file type
        
$fileType exif_imagetype($_FILES["sonstiges"]["tmp_name"]);
        
$allowed = array(IMAGETYPE_GIFIMAGETYPE_JPEGIMAGETYPE_PNG);
        if (!
in_array($fileType$allowed)) {
            echo 
"<p>File type is not permitted.</p>";
            exit;
        }
        
//Überprüfung der Dateigröße
        
$max_size 500*1024//500 KB
        
if($_FILES['sonstiges']['size'] > $max_size) {
        die(
"Bitte keine Dateien größer 500kb hochladen");
        }
        
// ensure a safe filename
        
$name preg_replace("/[^A-Z0-9._-]/i""_"$myFile["name"]);
        
// don't overwrite an existing file
        
$i 0;
        
$parts pathinfo($name);
        while (
file_exists(UPLOAD_DIR $name)) {
            
$i++;
            
$name $parts["filename"] . "-" $i "." $parts["extension"];
        }
        
// preserve file from temporary directory
        
$success move_uploaded_file($myFile["tmp_name"], UPLOAD_DIR $name);
        if (!
$success) {
            echo 
"<p>Unable to save file.</p>";
            exit;
        }
        
// set proper permissions on the new file
        
chmod(UPLOAD_DIR $name0644);
        echo 
"<p>Uploaded file saved as " $name ".</p>";
    }



...


Und wenn ich jetzt auf den Button klicke werde ich auf eine neue Browserseite geleitet, wo meine PHP Fehlermeldungen stehen. Ich möchte jedoch die HTML-Seite nicht verlassen, sondern dort meine Errors lesen.
Also praktisch die Fehler unter dem input-tag angezeigt bekommen.


ich hoffe es ist verständlicher womit ich kämpfe

chorn 27.09.2017 16:17:46

AW: Upload Fehlermeldung
 
wenn du die Seite nicht neu laden wilst, dann musst du das mit AJAX (<--- Stichwort) komplett an den Server senden und dort erstmal validieren, und dann mit Javascript die Fehlermeldungen einblenden.

nessa 27.09.2017 19:01:42

AW: Upload Fehlermeldung
 
Vielen Dank für die schnelle Antwort:)
Was meinst du mit 'das'?
Alles, also PHP und HTML oder nur PHP, also die Fehlerabfrage?

chorn 28.09.2017 09:27:02

AW: Upload Fehlermeldung
 
Die Formulardaten musst du mit AJAX an den Server senden.

sysop 28.09.2017 09:40:07

AW: Upload Fehlermeldung
 
Grundlagen.
https://www.php-kurs.com/formularauswertung-mit-php.htm


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:41:01 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.