Hej Aminoer
Endnu engang sidder jeg i saksen, og må spørge om hjælp herinde.
Jeg har problemer med at få fil-upload til at virke i en html-form jeg har lavet.
Formen bliver sendt som post-data - og det virker godt nok, bortset fra at filen bare bliver til et tomt array.
Jeg har prøvet at lave en mere simpel form i et andet html-dokument - her virker fil-upload. Er der noget jeg har overset?
- det skal lige siges at jeg bruger jQuery mobile i det første af dokumenterne (det dokument, hvor formen ikke virker), hvis det har noget at sige.
HTML dokument 1:
<form action="handledrink.php" method="post" enctype="multipart/form-data">
<ul data-role="listview" data-inset="true" data-filter="false">
<li><label for="drinknavn">Navn på drink: </label><input type="text" name="drinknavn" id="drinknavn" placeholder="Drinknavn"></input></li>
<li><label for="ingredienser">Ingredienser: </label><input type="text" name="ingredienser" id="ingredienser" placeholder="Ingredienser. Kommasepareret f.eks. vodka, juice, isterninger"></input></li>
<li><label for="fremgang">Fremgangsmåde: </label><textarea rows="2" cols="20" name="fremgang" id="fremgang" placeholder="Fremgangsmåde"></textarea></li>
<input type="hidden" name="MAX_FILE_SIZE" value="90000000"></input>
<li><label for="billede">Vælg et billede: </label><input type="file" name="billede" id="billede" value="Vælg billede" ></input></li>
<li><label for="udgiver">Dit navn: </label><input type="text" name="udgiver" id="udgiver" placeholder="Dit navn her" ></input></li>
<li><input type="submit" name="submit" id="submit" value="Indsend drinkopskrift" ></input></li>
</ul></form>
PHP dokument 1 (handledrink.php)
<?php if(isset($_POST['drinknavn']) && $_POST['drinknavn'] != "" && $_POST['ingredienser'] != "" && $_POST['fremgang'] != ""){
echo $_POST['drinknavn'] . "<br>"; $drinknavn = mysql_real_escape_string($_POST['drinknavn']);
echo $_POST['ingredienser'] . "<br>"; $ingredienser = mysql_real_escape_string($_POST['ingredienser']);
echo $_POST['fremgang'] . "<br>"; $fremgang = mysql_real_escape_string($_POST['fremgang']);
if(isset($_FILES)){ print_r($_FILES); } else { echo "Intet billede"; }
echo $_POST['udgiver'] . "<br>"; $udgiver = mysql_real_escape_string($_POST['udgiver']); ?> På forhånd tak
- Har fundet fejlen. jQuery Mobile sender forms som Ajax. Derfor skulle der tilføjes data-ajax="false" til formen.