Avatar billede zarathustra Nybegynder
23. august 2001 - 19:38 Der er 10 kommentarer og
1 løsning

if-sætning

Jeg har et problem med et php-script, som GODT fungerer på min egen computer (med Apache), men IKKE på min udbyders server.

Programmet skal vise brugeren to forskellige form-felter, som finde i et samme program (forskning_form.php): Et, hvis der ingen informationer findes i forvejen og der skal oprettes nye og et, hvis der findes informationer som skal opdateres.
Den afgørende faktor for om det ene formfelt skal vises frem for det andet er om variablen forsk_id eksisterer eller ej.  (afgjort ved if-sætning).

Problemet er at brugeren GODT kan se formfelterne, hvis informationerne skal opdateres, men IKKE, hvis der ingen foreligger. Det sjove (eller tragiske) er, at selvom problemet angiveligt ligger i den første if-sætning, men fejlmeddelelsen kommer på while-løkken i else-sætningen.

Mit script ser sådan ud:

<html>
<head>
<title>Administrationsmodul</title></head>
<body bgcolor=\"#FAFAF5\"><font face=Arial size=2>

<?


$body = \"<center><h3>Informationer om forskningsprojekter</h3> - du er logget på som <b>$valid_user</b></center>
        <table align=center valign=top width=700 cellpadding=5 border=1>\";

include(\"../includes/db_conn.inc\");

if ($forsk_id == \"0\") { 

$body = $body.\"...\";

echo($body);
exit;

} else { 
       
  $query = \"...\";

  $result = mysql_query($query, $db);

// * fejlmedd. på følgende sætning
  while ($row = mysql_fetch_row ($result)) {
  list($forsk_id, $forsk_titel, $forsk_beskrivelse, $forsk_litteratur, $forsk_links, $fag_dato) = $row;

$body = $body.\"...\";

  }

}

echo($body);
?>

</body>
</html>

Kan det være et konfigurationsproblem??

/zarathustra
Avatar billede zarathustra Nybegynder
23. august 2001 - 19:41 #1
Fejlmeddelelsen til ovenstående problem ser sådan ud:

Warning: Supplied argument is not a valid MySQL result resource in /hotel/minoriteter/WWW/adm/forskning_form.php on line 117

/zarathustra
Avatar billede tdaugaard Nybegynder
23. august 2001 - 19:46 #2
$query = \"...\";

er jo ikke et gyldigt SQL kald !
Avatar billede binderup Nybegynder
23. august 2001 - 21:42 #3
Det kunne også være at du skulle se på dine kald til databasen - måske har du glemt at rette dine database filer (includefiler?) inden du har uploaded dem til serveren.
Avatar billede mortenfn Nybegynder
23. august 2001 - 21:56 #4
$result = mysql_query($db, $query);

while (list ($forsk_id, $forsk_titel, $forsk_beskrivelse, $forsk_litteratur, $forsk_links, $fag_dato) = mysql_fetch_row ($result))

den her er jo nok hemmelig    $query = \"...\";
Avatar billede mortenfn Nybegynder
23. august 2001 - 21:57 #5
result)) herefter kører så løkken  {  }
Avatar billede tdaugaard Nybegynder
23. august 2001 - 21:57 #6
mortenfn:> Hvordan kan et SQL kald være hemmeligt ??
Avatar billede mortenfn Nybegynder
23. august 2001 - 21:59 #7
det ved jeg heller ikke, men han gider nok ikke vise os det, siden det ikke står der !

;O)
Avatar billede zarathustra Nybegynder
24. august 2001 - 08:39 #8
mortenfn> mit SQL-kald er ikke hemmeligt...det ser således ud:

$query = \"select forsk_id, forsk_titel, forsk_beskrivelse, forsk_litteratur, forsk_links, date_format(forsk_dato, \'%d/%m/%y\')
            from forskning
            where forsk_id = $forsk_id\";

MEN, jeg mener ikke, at det er relevant. Det fungerer jo som bekendt på min egen maskine - uden problemer!

Og BEMÆRK: Det er når jeg eksekverer den først if-sætning, at jeg får en fejlmeddelelse fra while-løkken. Det undrer mig, for jeg laver kommandoen \'exit;\' inden denne whileløkke - nemlig før else. Hvorfor springer den ikke bare ud af programmet og viser mig min echo($body);

tdaugaard> jeg har rettet mine inc.-filer, så dem er der heller ikke problemer med.
Avatar billede zarathustra Nybegynder
24. august 2001 - 09:14 #9
OK, jeg har fået løst mit problem, hvilket var uendelig lille!!

IKKE ($forsk_id == \"0\")
men (!$forsk_id)
...det gør den store forskel
Avatar billede zarathustra Nybegynder
24. august 2001 - 09:15 #10
:-) zarathustra
Avatar billede mortenfn Nybegynder
24. august 2001 - 10:06 #11
OK -  jeg ved ikk\' men mon ikke den her er den rigtige

if (empty($forsk_id))

din - !$forsk_id virker kun, hvis $forsk_id overhoved ikke er difineret, -

enpty() er også true hvis $forsk_id er = 0
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