08. marts 2006 - 21:35
Der er
24 kommentarer og 1 løsning
Film upload virker ikke
Hej Eksperter. Havde samme spørgsmål i går, men fik aldrig lårtet til at virke. Dog fik jeg en ven til at ændre lidt i scriptet, men ikke med megen virkning. SE PÅ DET!!! : <form action="upload.php" method="POST"> <table cellpadding="0px" align="center" cellspacing="0px" border="0px"> <tr align="center" align="center"> <td colspan="2"><span class="sizeti"><b>Tilføj ny film</b></span><br> </td> </tr> <tr> <td valign="top" width="100px" height="25px"><span><b>Titel :</b></span></td> <td><input type="text" name="title"></td> </tr> <tr> <td valign="top" height="25px"><span><b>Info :</b></span></td> <td><textarea name="info" cols="30" rows="4"></textarea></td> </tr> <tr> <td valign="top" height="25px"><span><b>Film :</b></span></td> <td><input type="file" name="film"></td> </tr> <tr> <td valign="top" height="25px"><span><b>Billede :</b></span></td> <td><input type="file" name="billede"></td> </tr> <tr> <td valign="top" height="25px"><span><b>Kategori :</b></span></td> <td><select name="kategori"> <option>Cool</option> <option>Sport</option> <option>Reklamer</option> <option>Ekstreme</option> <option>Sjove</option> </select> </td> </tr> <tr> <td></td> <td><input type="submit" name="alrightythen" value="Uload"></td> </tr> </table> </form> <? $title = $_POST['titel']; $info = $_POST['info']; $movie = $_FILES["film"]["type"]; $picture = $_FILES["billede"]["type"]; $category = $_POST['kategori']; $date = date("d-m-Y"); $warning = 0; include("connect.php"); if(isset($_POST['alrightythen'])) { if(!eregi("(.jpg)|(.jpeg)|(.jpe)|(.gif)|(.png)|(.bmp)|(.rif)|(.raw)", $_FILES["billede"]["type"])) { $warning++; } if($warning == 0){ if(copy($_FILES["upload"]["tmp_name"],$_FILES["billeder"]["name"])){ echo "Uploaded billede!!<br>"; } else { $warning++; } } if(!eregi("(.wmv)|(.wma)|(.mov)", $_FILES["film"]["type"])) { $warning++; } if($warning == 0){ if(copy($_FILES["upload"]["tmp_name"],$_FILES["film"]["name"])){ echo "Uploaded billede!!<br>"; } else { $warning++; } } if($warning == 0){ mysql_query("INSERT INTO film (title, info, movie, picture, category, date) VALUES ('$title', '$info', '$movie', '$picture', '$category', '$date')") or die(mysql_error()); } else { echo "doh"; } } ?> Den ender med at sige 'doh', som står sidst i scriptet. What's wrong?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
08. marts 2006 - 21:49
#1
Prøv at sætte en hidden post ind med name alrightythen og giv den en vilkårlig value. <input type="hidden" value="isset" name="alrightythen"> /TheEmail
08. marts 2006 - 21:55
#2
Præcist det samme.
08. marts 2006 - 22:00
#3
Jeg tror faktisk den fejler på denne: $_FILES["billede"]["type"] Den indeholder: mime-typer, som f.eks.: image/gif, image/jpeg osv... En doh, er jo tegn på du har en warning et sted. Prøv at ret: $warning++; Til nogle fejlbeskeder som: echo "Filen er ikke et billede"; echo "Billedet blev ikke uploadet"; echo "Filen er ikke en film"; echo "Filmen blev ikke uploadet";
08. marts 2006 - 22:02
#4
Hvis du laver: $extension = strtolower(end(explode(".", $_FILES['billede']['name']))); if(!eregi("(.jpg)|(.jpeg)|(.jpe)|(.gif)|(.png)|(.bmp)|(.rif)|(.raw)", $extension)) { $warning++; } så burde du komme videre...
08. marts 2006 - 22:06
#5
Ja, nu kan man se de forskellige fejl. Men de dukker alle sammen op =/ Altså virker intet.
08. marts 2006 - 22:08
#6
Den viser stadig fejl når jeg ligger: $extension = strtolower(end(explode(".", $_FILES['billede']['name']))); if(!eregi("(.jpg)|(.jpeg)|(.jpe)|(.gif)|(.png)|(.bmp)|(.rif)|(.raw)", $extension)) { $warning++; } ind.
08. marts 2006 - 22:10
#7
Prøv lige at udskriv $extension
08. marts 2006 - 22:14
#8
Der kommer intet. Så den opfatter slet ikke at jeg henter filen ned?
09. marts 2006 - 07:45
#9
Prøv under: if(isset($_POST['alrightythen'])) at skriv: echo "<b>DEBUG</b><br />"; echo "POST"; echo "<pre>"; print_r($_POST); echo "</pre>"; echo "FILES"; echo "<pre>"; print_r($_FILES); echo "</pre>"; og smid output herind.
09. marts 2006 - 13:17
#10
DEBUG POST Array ( [title] => Mmm! Marbou! [info] => Rigtig fed film, med sennep på! [film] => treadfall3.wmv [billede] => 2263.jpg [kategori] => Ekstreme [alrightythen] => isset ) FILES Array ( ) Filen er ikke et billede Filen er ikke et billede Filen er ikke en film Filmen blev ikke uploadet Så filerne fanger den.
09. marts 2006 - 13:21
#11
Du bad mig fjerne $WARNING, og sætte $EXTENSION ing i stedet. Men sidder nu ogs undrer mig hvad jeg skal gøre med: if($warning == 0){ if(copy($_FILES["upload"]["tmp_name"],$_FILES["billeder"]["name"])){ Fordi den afhænger jo af $WARNING :S
09. marts 2006 - 13:24
#12
Du skal rette $warning tilbage igen! Det var kun for at debugge du skulle rette til: echo "..."; Du skal også rette: <form action="upload.php" method="POST"> til: <form enctype="multipart/form-data" action="upload.php" method="POST">
09. marts 2006 - 13:37
#13
Nu har jeg ændret al php koden tilbage som den var i starten. Og sat enctype i formlen. Men det ændrede ikke rigtigt noget :S Så er vi tilbage hvor vi startede.
09. marts 2006 - 13:39
#14
Prøv lige at kontakt mig på msn: jakbodo [AT] hotmail {DOT} com
09. marts 2006 - 13:56
#15
så mangler du bare at acceptere.
09. marts 2006 - 13:58
#16
Haha, jakobdo ikke jakbodo :o(
09. marts 2006 - 14:22
#17
Jep, den har jeg også tilføjet :D
09. marts 2006 - 14:28
#18
Jeg tror jeg har haft dig på min kontaktliste engang. Måske har du blocket mig af en eller anden grund?
09. marts 2006 - 14:32
#19
Hehe, prøv igen! :o)
09. marts 2006 - 15:50
#20
Prøv du at tilføj mig. mail (.) zurekk.dk
09. marts 2006 - 20:51
#21
weeee
09. marts 2006 - 20:51
#22
Et svar!
09. marts 2006 - 20:51
#23
Yes sir!
09. marts 2006 - 20:52
#24
Så fik jakobdo det fikset :D Det endte sådan her : <? include("connect.php"); if(isset($_POST['alrightythen'])) { $warning = 0; $ext = strtolower(end(explode(".", $_FILES['billede']['name']))); if (!preg_match('/jpg|jpeg|jpe|gif|png|bmp|tif|raw/', $ext)) { $warning++; } if($warning == 0) { if(!copy($_FILES["billede"]["tmp_name"],"./pics/" . $_FILES["billede"]["name"])) { $warning++; } } $ext = strtolower(end(explode(".", $_FILES['film']['name']))); if(!preg_match('/wmv|wma|mov|avi|mpeg|mpg|ram/', $ext)) { $warning++; } if($warning == 0) { if(!move_uploaded_file($_FILES['film']['tmp_name'],"./movies/" . $_FILES['film']['name'])) { $warning++; } } if($warning == 0) { $title = mysql_real_escape_string(strip_tags($_POST['title'])); $info = mysql_real_escape_string(strip_tags($_POST['info'])); $movie = mysql_real_escape_string(strip_tags($_FILES['film']['name'])); $picture = mysql_real_escape_string(strip_tags($_FILES['billede']['name'])); $category = mysql_real_escape_string(strip_tags($_POST['kategori'])); mysql_query("INSERT INTO film (title, info, movie, picture, category, date) VALUES ('$title', '$info', '$movie', '$picture', '$category', NOW())") or die(mysql_error()); if(mysql_affected_rows()>0) { echo "Film og billede er uploadet korrekt<br>"; } else { echo "Der opstod en fejl<br>"; } } else { echo "doh<br>"; } } ?>
09. marts 2006 - 20:54
#25
Takker for point! Husk evt lige at ret echo (fejl) i bunden! :o)
Vi tilbyder markedets bedste kurser inden for webudvikling