23. august 2001 - 19:38Der 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.
$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;
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.
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.
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
Synes godt om
Ny brugerNybegynder
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.