Avatar billede jacob_m Nybegynder
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
Avatar billede ztyxx Nybegynder
10. juli 2002 - 16:16 #1
du mangler vis en ;

print "Originalt filnavn: .$userfile_name.";
Avatar billede jacob_m Nybegynder
10. juli 2002 - 16:18 #2
Mangler...... Hvor skulle den så være... Jeg har den jo allerede... Forklar..
Avatar billede ztyxx Nybegynder
10. juli 2002 - 16:19 #3
din linie ser sådan ud:

print "Originalt filnavn: .$userfile_name."
skal der så ikke en ; efter "
Avatar billede jacob_m Nybegynder
10. juli 2002 - 16:20 #4
Det har jeg nu tilføjet... Og detr sker ikke en Meter... :-)..

Ellers tak..
Avatar billede jakoba Nybegynder
10. juli 2002 - 16:31 #5
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";
Avatar billede tipsen Nybegynder
10. juli 2002 - 16:33 #6
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")) {
Avatar billede ztyxx Nybegynder
10. juli 2002 - 16:34 #7
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)) {
Avatar billede jacob_m Nybegynder
10. juli 2002 - 16:35 #8
Det er fordi at scriptet gemmer i en folder og ikke i en database.. så skal der være f.eks. .bmp
Avatar billede jacob_m Nybegynder
10. juli 2002 - 16:37 #9
Nu har jeg prøvet at rette begge fejl.. Og der sker stadig ikke noget :-):.
Avatar billede ztyxx Nybegynder
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??
Avatar billede tipsen Nybegynder
10. juli 2002 - 16:39 #11
Prøv en ny:

if (copy($userfile,"D:/web/greyz.dk_b9e2ck/picture/billeder/$userfile_name")) {
Avatar billede jacob_m Nybegynder
10. juli 2002 - 16:41 #12
I kan se efter på http://picture.greyz.dk/PHP/add.php og add2.php..
Avatar billede jacob_m Nybegynder
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!";
    }
}
?>
Avatar billede tipsen Nybegynder
10. juli 2002 - 17:19 #14
Hvad skete der med mit sidste forslag - hvad var resultatet?
Avatar billede jacob_m Nybegynder
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()"..
Avatar billede jacob_m Nybegynder
10. juli 2002 - 17:45 #16
Er der nogen der kan hjælpe ??
Avatar billede tipsen Nybegynder
10. juli 2002 - 23:11 #17
Hvad er connect() ?
Avatar billede muddi Praktikant
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;
}
?>
Avatar billede jacob_m Nybegynder
12. juli 2002 - 17:54 #19
Jeg har rettet fejlene og nu virker det.. Tak mudii
Avatar billede ztyxx Nybegynder
12. juli 2002 - 22:24 #20
takker for point:-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester