10. juli 2002 - 16:14
Der er
17 kommentarer og 3 løsninger
Fejl i Database script: parse error
Jeg har sådan en script til at uploade billede på min server. Det ser såleds ud: <FORM ENCTYPE="multipart/form-data" ACTION="<?=$PHP_SELF; ?>?vareid=<?=$vareid;?>" METHOD="POST"> <INPUT NAME="userfile" TYPE="file"> <INPUT TYPE="submit" VALUE="Send Filen"> </FORM> <? if (isset($userfile)) { if (eregi("(\.jpg|\.gif|\.bmp)$", $userfile_name, $endelse)) { if (copy($userfile,"$D:\web\greyz.dk_b9e2ck\picture\billeder\".$userfile_name)) { print "Originalt filnavn: .$userfile_name." mysql_connect("mysql.cliche.dk", "greyz_dk", "fdgw98ep"); mysql_select_db("greyz_dk"); mysql_query("UPDATE picture SET billede = '".$billednavn."' WHERE vare_id = $vareid"); close(); } } else { print "Forkert filtype! Kun .JPG, .GIF og .BMP´s er tilladt!"; } } ?> Når jeg vil åbne siden kommer der denne fejl; Parse error: parse error in D:\web\greyz.dk_b9e2ck\picture\PHP\add.php on line 10 Linje 10 er: print "Originalt filnavn: .$userfile_name." Hvad skal jeg gøre ?? På forhånd tak.. -Jacob
Annonceindlæg fra Kommando
du mangler vis en ; print "Originalt filnavn: .$userfile_name.";
Mangler...... Hvor skulle den så være... Jeg har den jo allerede... Forklar..
din linie ser sådan ud: print "Originalt filnavn: .$userfile_name." skal der så ikke en ; efter "
Det har jeg nu tilføjet... Og detr sker ikke en Meter... :-).. Ellers tak..
du har ikke nogen variabel der hedder $userfile_name . men det er et lovligt variabelnavn så det er det php leder efter. Skriv din streng så php kan se at _name bare er bogstaver der skal klistres bagefter det der står i variablen $userfile : print "Originalt filnavn: ." .$userfile ."_name."; PS: hvad er alle de der punktummer indeni strengen til? skal de være der, eller ønsker du blot at skrive: print "Originalt filnavn: " .$userfile ."_name";
if (copy($userfile,"$D:\web\greyz.dk_b9e2ck\picture\billeder\".$userfile_name)) { -er du sikker på at der skal stå $D !? - har du en variabel som hedder $D !? måske: if (copy($userfile,"D:\web\greyz.dk_b9e2ck\picture\billeder\$userfile_name")) {
denne linie kunne for søges med en ekstra \ if (copy($userfile,"$D:\web\greyz.dk_b9e2ck\picture\billeder\".$userfile_name)) { så den ser sådan ud if (copy($userfile,"$D:\web\greyz.dk_b9e2ck\picture\billeder\\".$userfile_name)) {
Det er fordi at scriptet gemmer i en folder og ikke i en database.. så skal der være f.eks. .bmp
Nu har jeg prøvet at rette begge fejl.. Og der sker stadig ikke noget :-):.
10. juli 2002 - 16:38
#10
hvad sker der hvis du piller mysqldelen ud, går ud fra at du skal bruge den til at henvise til billedet, gemmer den hvis ikke det er med??
10. juli 2002 - 16:39
#11
Prøv en ny: if (copy($userfile,"D:/web/greyz.dk_b9e2ck/picture/billeder/$userfile_name")) {
10. juli 2002 - 16:41
#12
10. juli 2002 - 16:45
#13
Hovedscriptet ser således ud, som jeg så har konfigureret til mine betingelser: <FORM ENCTYPE="multipart/form-data" ACTION="<?=$PHP_SELF; ?>?vareid=<?=$vareid;?>" METHOD="POST"> <INPUT NAME="userfile" TYPE="file"> <INPUT TYPE="submit" VALUE="Send Filen"> </FORM> <? if (isset($userfile)) { if (eregi("(\.jpg|\.gif|\.bmp)$", $userfile_name, $endelse)) { if (copy($userfile,"$DOCUMENT_ROOT/billeder/".$userfile_name)) { print "Originalt filnavn: ".$userfile_name." connect(); mysql_query("UPDATE tabel SET billede = '".$billednavn."' WHERE vare_id = $vareid"); close(); } } else { print "Invalid filetype! Only .JPG, .GIF and .BMP's are allowed!"; } } ?>
10. juli 2002 - 17:19
#14
Hvad skete der med mit sidste forslag - hvad var resultatet?
10. juli 2002 - 17:21
#15
Det samme.... Men Når der står "connect()" i hovedscriptet og jeg ændre det til mysql_connect("host", "brugernavn", "kodeord"); mysql_select_db("database"); Kan det være en fejl ??.. For jeg kan ikke huske hvordan de for skellige (host, brugernavn, kodeord, database) skal listes op når man bruger "connect()"..
10. juli 2002 - 17:45
#16
Er der nogen der kan hjælpe ??
10. juli 2002 - 23:11
#17
Hvad er connect() ?
11. juli 2002 - 02:39
#18
jacob_m >> *LOL* Connect() er min egen helt personlige måde at connecte til mysql! Hvis du vil bruge den, skal du først include denne fil: mysql_funktioner.php ---------------------------- <?php function connect() { $server = "mysql.dinside.dk"; $bruger = "brugernavn"; $kodeord = "password"; $database = "database"; if (!mysql_connect("$server","$bruger","$kodeord")) { udskriv_fejl("Kunne ikke oprette en forbindelse til MySQL."); } if(!mysql_select_db("$database")) { udskriv_fejl("Kunne ikke vælge databasen: $database"); } } function close() { if(!mysql_close()) { udskriv_fejl("Kunne ikke lukke forbindelsen til MySQL!"); } } function udskriv_fejl($fejl) { echo "<p>$fejl"; if ($mysql_fejl = mysql_error()) { echo "<br>Fejlen er: <em>$mysql_fejl</em>"; } exit; } ?>
12. juli 2002 - 17:54
#19
Jeg har rettet fejlene og nu virker det.. Tak mudii
12. juli 2002 - 22:24
#20
takker for point:-)
Vi tilbyder markedets bedste kurser inden for webudvikling