03. februar 2008 - 15:08
Der er
5 kommentarer og 1 løsning
Problem med update
Hejsa Hvad er her fejlen? Scriptet uploader ikke billeder men opdaterer tabellen. Her er min formular: $id=$_GET[id]; echo"<form method='post' action='ndrbil2.php'> Billede: <input type='file' name='file' id='searchsubmit'><br> <input type='hidden' name='id' value='$id'> <input type='submit' value='Ændr!' id='searchsubmit'> "; og scriptet: $filename = 'billeder/' . basename($_FILES['file']['name']); if (move_uploaded_file($_FILES['file']['tmp_name'], $filename)) { echo "File is valid, and was successfully uploaded."; } else { echo 'DEBUG: Fra: ' . $_FILES['file']['tmp_name'] . ' til ' . $filename . '<br>'; echo "Possible file upload attack!"; } $sql = ("update smykker set billede='$filename' where id='$id'"); $res = mysql_query($sql) or die(mysql_error());
Annonceindlæg fra HP
03. februar 2008 - 15:21
#1
Ret: $id=$_GET[id]; til: $id=$_POST[id];
03. februar 2008 - 15:41
#2
<ole> - og lad så mig komme i nærheden af dokumentet. Så skal jeg - med en 'smadret' database - lære 'nogen' noget om sikkerhed 0:) Bruger-input skal _altid_ valideres, før det må bruges på en DB - og så bør man forøvrigt bruge gåseøjne i array-kald ;o) /mvh </bole>
03. februar 2008 - 15:43
#3
Og så mangle du lige at give din form besked på at den skal overfføre filer. Tilføj enctype="multipart/form-data" til din form som en attribut.
03. februar 2008 - 15:45
#4
Til Nielle: Hvis du mener i formularen så hjælper det ikke. Id'et bliver sendt fra et link til den side hvori formularen er. Til olebole: Dette er til et administratorpanel, og skal kun bruges af 2-3 udvalgte personer.
03. februar 2008 - 15:51
#5
Takker dkfire. Skriv et svar!
03. februar 2008 - 15:58
#6
Jeg skriver et svar. Men lyt også lige til Ole, for det er helt korrekt det han siger. Du skal _altid_, også hvis det kun er til en admin del, validere dine input som kommer fra brugere/administratore.
Vi tilbyder markedets bedste kurser inden for webudvikling