Registration form - Bild hochladen
Arbeite ich an einem Formular für eine website, die ich versuche, ein Foto hochzuladen auf den server und pass den Pfad der Datei auf die Datenbank.
Dies ist wahrscheinlich nur ein einfaches Problem, wie ich bin ziemlich der Anfänger in php und mysql.
Hier ist mein standard-form, die nennen wir register.php. Ich Schnitt allen anderen Eingang als das Bild.
<form name="reg" action="code_exec.php" onsubmit="return validateForm()" method="post">
<input type="file" id="inputImage" Name="photo">
<button class="btn btn-large btn-success" type="submit">Register</button>
</form>
Dies ist die ausführbare Datei, die nennen wir code_exec.php
<?php
session_start();
include('connection.php');
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$mname = $_POST['mname'];
$address = $_POST['address'];
$contact = $_POST['contact'];
$pic = $_POST['pic'];
$username = $_POST['username'];
$password = $_POST['password'];
$skype = $_POST['skype'];
$email = $_POST['email'];
//This is the directory where images will be saved
$target = "upload/";
$target = $target . basename( $_FILES['photo']['name']);
//This gets all the other information from the form
$pic = ($_FILES['photo']['name']);
//Writes the photo to the server
if (move_uploaded_file($_FILES['photo']['tmp_name'], $target)) {
//Tells you if its all ok
echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";
} else {
//Gives an error if its not
echo "Sorry, there was a problem uploading your file.";
}
mysql_query("INSERT INTO member(fname, lname, gender, address, contact, picture, username, password, skype, email, photo)VALUES('$fname', '$lname', '$mname', '$address', '$contact', '$pic', '$username', '$password', '$skype', '$email', '$pic')");
header("location: index.php?remarks=success");
mysql_close($con);
?>
Wie finde ich den Pfad der image-Datei?
Kein einfügen
Bitte verwenden Sie nicht
Bitte code korrekt Einrücken. Ohne Einrückungen ist der code schwerer zu verstehen.
$_POST
Daten direkt! Es ist ein großes security-Problem en.wikipedia.org/wiki/SQL_injection. Siehe : xkcd.com/327 und stackoverflow.com/questions/332365/...Bitte verwenden Sie nicht
mysql_*
Funktionen im neuen code. Sie werden nicht mehr gepflegt, sind offiziell nicht mehr und kann gefährlich in den live-code. Siehe die red box? Erfahren Sie mehr über prepared statements und PDO oder MySQLi - diesem Artikel wird Ihnen helfen, entscheiden, welche. Wenn Sie PDO, hier ist ein gutes tutorial.Bitte code korrekt Einrücken. Ohne Einrückungen ist der code schwerer zu verstehen.
InformationsquelleAutor user2462645 | 2013-06-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
In code
Fügen Sie einfach
enctype="multipart/form-data"
in Ihrer html-form-tag1.Wenn Sie laden Sie alle Arten von Dateien von der form, die Sie schreiben müssen enctype - Attribut im form-element.
Danke
InformationsquelleAutor Brijesh Dubey
Es ist einfach, fügen Sie einfach
$target
zu Ihrer SQL-Abfrage.InformationsquelleAutor Konrad Borowski
nutzen Sie einfach das layout, das ich zur Verfügung gestellt haben:
für html verwenden Sie diese halten Sie daran, Sie können immer zu verbessern:
und für die php verwenden:
ABER VERGESSEN SIE NICHT, ÄNDERN SIE DIE NAMEN DER TABELLEN UND WERTE
HOFFE, ES HEPLED!
InformationsquelleAutor Saqib Malik
Wenn Sie verwendet werden
move_uploaded_file($_FILES['photo']['tmp_name'], $target)
das Bild verschoben werden, um Ihr$target
Weg. Also der Pfad zum Bild ist der$target
. Jetzt benutzen Sie einfach$target
statt$pic
auf die Abfrage-Funktion, die Sie verwendet. Wie-InformationsquelleAutor AGM Tazim
Beim hochladen Foto/Medien aus der form, müssen Sie
<form method="" action="" enctype = "multipart/form-data">
- Attribut der form. Ohne, dass das hochladen von Medien wird nicht funktionieren.Auch sicher, dass Sie
post
Methode nur für das hochladen von MedienInformationsquelleAutor ajay ramgarhia