<form action = "<?php $_SERVER["PHP_SELF"];?>" class="register-form" method="post" name="form1" encype="multipart/form-data">
<input type="text" placeholder="Username" name="username" maxlength="15" required/>
<input type="text" placeholder="Email Address" name="email" maxlength="30" required/>
<input type="password" placeholder="Password" name="password" maxlength="15" required/>
<input type="password" placeholder="Confirm Password" name="conf_password" maxlength="20" required/>
<input type="file" name="file" accept="image/*"/>
<button href="../index.html">create</button>
</form>
Dies sind meine HTML-Tags. Ich möchte ein Standardbild für dieses Feld erstellen. Der Name des Bildes ist default-avatar.jpeg
ich diesen Code geschrieben haben:
Benutzer-Standardbild für die MySQL-Datenbank mit PHP
if (isset($_POST["file"])){
$file = addslashes($_POST["file"]);
echo "Yes<br>";
}
elseif(empty($_POST['file'])){
$file = "default-avatar.jpeg";
echo "No<br>";
}
So schlug ich vor, wenn der Benutzer eine andere Datei auswählt, die $file
Variable einen anderen Wert erhält, wenn der Benutzer keine Datei wählen, die Wert von $file
bleibt default-avatar.jpeg
Aber der Wert des Dateifeldes ist nie leer. Als ich versucht habe, echo
hat es immer einen gewissen Wert. Wenn der Benutzer eine andere Datei wählt, ist der Wert $file
Variable diese Datei, aber wenn er nicht den Wert ist nichts (ich dachte, es ist leer). Also ist die immer True. Wie kann ich das lösen?
[Sie können nicht] (http://stackoverflow.com/questions/1696877/how-to-set-a-value-to-a-file-input-in-html). Randnotiz: was auch immer Sie erreichen möchten, 'addslashes()' ist das falsche Werkzeug. –