danweb.cjb.net Skrevet 7. mai 2010 Del Skrevet 7. mai 2010 Hei, Jeg har laget et lite galleri, for moroskyld, men får det ikke helt til å fungere som jeg vil... Når jeg velger tittel og en beskrivelse av bildet som skal lastes opp i galleriet står bare scriptet å laster og laster ... Hvis jeg da trykker "tilbake" også velger å laste opp igjen, ja da går det med en gang. Skjønner ikke helt hvorfor det skal være slik. legger ved koden Jeg har fjernet sjekken om feltene er tomme fra php-scripet, for å se om det var det som var problemet, men det var tydeligvis ikke. Kan det være Javascript-validasjonen som gjør at det blir feil? Form: <script type="text/javascript"> //<![CDATA[ function validate(f){ if(f.title.value == ""){ alert("Du må skrive inn en tite til bildet"); return false; } else if(f.om.value == ""){ alert("Du må gi en beskrivelse til bildet"); return false; } else if(f.bilde.value == ""){ alert("Du må velge et bilde"); return false; } else{ return true; } } //]]> </script> <h1>Legg til bilde i galleriet</h1> <p>Her kan dere lag en/flere brukere slik at ansatte kan legge til nyheter på siden</p> <form onsubmit="return validate(this);" method="post" action="upload.php" id="bildeform" name="bildeform" enctype="multipart/form-data" <table> <tr> <td>Titel:</td> <td><input type="text" name="title" id="title" value="" /></td> </tr> <tr> <td>Om bildet:</td> <td><input type="text" name="om" id="om" value=""/></td> </tr> <tr> <td>Bilde:</td> <td><input type="file" name="bilde" id="bilde" /></td> </tr> </table> <input type="submit" name="submit" value="Last opp bilde" /> </form> <br /> <a href="index.php?side=admin"><img src="bilder/Back.png" /></a> upload.php <?php include('etc/connect.php'); $title = $_POST['title']; $om = $_POST['om']; $bildeNavn = $_FILES['bilde']['name']; $bildeType = $_FILES['bilde']['type']; $bildeSize = $_FILES['bilde']['size']; $tempNavn = $_FILES['bilde']['tmp_name']; $open = fopen($tempNavn, "rb"); $innehold = fread($open, filesize($tempNavn)); $innehold = addslashes($innehold); fclose($open); if(get_magic_quotes_gpc()){ $bildeNavn = addslashes($bildeNavn); } $query = "INSERT INTO bilder(id,title, om, name, size, type, content)". "VALUES ('0','$title','$om', '$bildeNavn','$bildeSize','$bildeType','$innehold')"; mysql_connect($host, $user, $pass)or die("Kan ikke koble til serveren ta kontakt med Trendreklame"); mysql_select_db($dbname)or die("Kan ikke koble til databasen, ta kontakt med Trendreklame"); mysql_query($query) or die ('Kan ikke utføre spørringen til databasen'); mysql_close(); unset($title); unset($om); unset($bildeNavn); unset($bildeType); unset($bildeSize); unset($tempNavn); unset($innehold); unset($query); header("Location: nytt_bilde.php"); ?> Lenke til kommentar
TheRealL Skrevet 8. mai 2010 Del Skrevet 8. mai 2010 Tror jeg vet hva problemet er, uhm. Finn <form onsubmit="return validate(this);" method="post" action="upload.php" id="bildeform" name="bildeform" enctype="multipart/form-data" og legg til en > På slutten Lenke til kommentar
AlecTBM Skrevet 8. mai 2010 Del Skrevet 8. mai 2010 Hvor stort er bildet du prøver å laste opp? Har du dårlig opp linje? Lenke til kommentar
danweb.cjb.net Skrevet 13. mai 2010 Forfatter Del Skrevet 13. mai 2010 Hei, takk for svar, men fant ut av det selv. Det var ikke noe direkte feil med scriptet mitt, men en bug i Safari, det fungerte fint i alle andre nettlesere. Her er javascript-koden som fikser buggen i Safari 4 for opplasting med enctype="multipart/form-data" function safariCheck(f){ if (/AppleWebKit|MSIE/.test(navigator.userAgent)) { new Ajax.Request("/js/close", { asynchronous:false }); } if(f.om.value == ""){ alert("Du må gi en beskrivelse til bildet"); return false; } else if(f.bilde.value == ""){ alert("Du må velge et bilde"); return false; } else{ return true; } } Takk for svar! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå