Avatar billede matr Nybegynder
08. november 2003 - 15:34 Der er 22 kommentarer

if isset virker ikke!

HEj
Nu er jeg ved at blive vanvittig! Jeg er ved at forsøge på at strikke et lille forum sammen. Når jeg forsøger at oprette et indlæg skal den tjekke om nogle af felterne er udfyldt med if isset. jeg har følgende script:

if (isset($_POST["navn"];)) {
        $insertSQL = "INSERT INTO forum (tekst, overskrift, n_startdate, navn, email) ";
        $insertSQL .= "VALUES ('".$_POST["tekst"]."','".$_POST["overskrift"]."', '".format_date($_POST["date"],'in')."', '".$_POST["navn"]."', '".$_POST["email"];
        $insertSQL .= "')";
        sql_post($insertSQL);
       
        header("Location: http://www.teamcarlbro.dk/forum.php");
    exit;

}

echo "Du skal udfylde alle felterne, hvor der er en stjerne ved (Tryk tilbage/back i din browser for at prøve igen)";   

Og lige meget om jeg har udfyldt feltet med navn eller ej så udfører den det i mellem { og } og det skal den jo kun hvis navn er udfyldt?

HÅBER I KAN HJÆLPE!!!! GRRR...
Avatar billede erikjacobsen Ekspert
08. november 2003 - 15:36 #1
Ja, isset siger bare om navnet er der - også selv om det er tomt. Du skal

if (isset($_POST["navn"] && $_POST["navn"]!="")) {
Avatar billede 7th Praktikant
08. november 2003 - 15:36 #2
if (! empty ($_POST["navn"])) { // hvis inputfelt navn ikke er tomt
Avatar billede erikjacobsen Ekspert
08. november 2003 - 15:36 #3
Ups:

if (isset($_POST["navn"]) && $_POST["navn"]!="") {
Avatar billede sukos Juniormester
08. november 2003 - 15:37 #4
Eller
if(isset($_POST["navn"] && trim($_POST["navn"]) !="")
Avatar billede sukos Juniormester
08. november 2003 - 15:37 #5
ups! :O)

if(isset($_POST["navn"]) && trim($_POST["navn"]) !="")
Avatar billede matr Nybegynder
08. november 2003 - 15:41 #6
erik-> prøvede hvad du sagde, men får:
Parse error: parse error, unexpected T_BOOLEAN_AND, expecting ',' or ')' in /STORE/aggerbo_dk/teammogm/forum_insert.php on line 6
Avatar billede matr Nybegynder
08. november 2003 - 15:43 #7
Fik rette fejlen, men nu kommmer den ikke igennem scriptet også selvom navn ikke er tomt ?
Avatar billede erikjacobsen Ekspert
08. november 2003 - 15:47 #8
Så ret lige den sidste også:

Parse error: parse error, unexpected '}' in /STORE/aggerbo_dk/teammogm/forum_insert.php on line 15
Avatar billede erikjacobsen Ekspert
08. november 2003 - 15:49 #9
Vis os hvad du har skrevet
Avatar billede matr Nybegynder
08. november 2003 - 15:51 #10
if (isset($_POST["navn"]) && $_POST["navn"]!="") {
        $insertSQL = "INSERT INTO forum (tekst, overskrift, n_startdate, navn, email) ";
        $insertSQL .= "VALUES ('".$_POST["tekst"]."','".$_POST["overskrift"]."', '".format_date($_POST["date"],'in')."', '".$_POST["navn"]."', '".$_POST["email"];
        $insertSQL .= "')";
        sql_post($insertSQL);
       
        header("Location: http://www.teamcarlbro.dk/forum.php");
    exit;

}

echo "Du skal udfylde alle felterne, hvor der er en stjerne ved (Tryk tilbage/back i din browser for at prøve igen)";   
close_db();
Avatar billede erikjacobsen Ekspert
08. november 2003 - 15:55 #11
Sæt lige en

  print_r($_POST);

ind før din if-sætning
Avatar billede matr Nybegynder
08. november 2003 - 16:07 #12
Det er gjort... hvorfor skal jeg det? Ja jeg er godt nok newbie.. :S
Avatar billede erikjacobsen Ekspert
08. november 2003 - 16:15 #13
Så kan vi bedre se hvad der er i vejen. Jeg gætter på der er noget der
ødelægger din $_POST undervejs - den må jo ikke være tom. Står det noget
tidligere i scriptet?
Avatar billede erikjacobsen Ekspert
08. november 2003 - 16:17 #14
Nåh, du POST_er til et frameset. Så er der ikke nogen $_POST på under-frames.
Jeg gider ikke hjælpe dig med frames, men det er forklaringen
Avatar billede matr Nybegynder
08. november 2003 - 16:23 #15
Nå... sikke et venligt svar.
Avatar billede erikjacobsen Ekspert
08. november 2003 - 16:31 #16
;) Jamen, det du er i gang med er håbløst. Skriv den rigtige side
i din action, så virker det jo umiddelbart
Avatar billede matr Nybegynder
08. november 2003 - 16:36 #17
ahhh ok...
Avatar billede matr Nybegynder
08. november 2003 - 16:46 #18
skal du ikke svare?
Avatar billede erikjacobsen Ekspert
08. november 2003 - 16:50 #19
Nej det vil jeg ikke. Jeg synes det er en uskik at stille helt almindelige
spørgsmål til 200 point. Du får en vejledning med 15, 30 og 60 point, og
der skal være en god grund til at gøre noget andet.

Behold du bare dine point, og husk det til en anden gang.
Avatar billede matr Nybegynder
08. november 2003 - 16:52 #20
hehehe jamen, jeg er bare desperat.. det sker der vel ikke noget. Jeg må da selv bestemme hvordan jeg vil bruge min svar?
Avatar billede erikjacobsen Ekspert
08. november 2003 - 17:01 #21
Selvfølgelig må du selv bestemme. Men jeg må vel også bestemme om jeg vil
have dine point. Der står noget med sværhedsgrad ved pointene - ikke noget
om hvor desperat du er. Jeg springer tit spørgsmål over med 200 point (men
ikke altid...), så hvis du fx vil have min hjælp så hold dig til de max 60 p.
Slut herfra.
Avatar billede rackbox Nybegynder
09. november 2003 - 10:53 #22
Jeg har ikke læst korrektur på hele din kode, endsige sat mig ind i problemstillingen, men prøv at fjerne dit semikolon fra sætningen:
if (isset($_POST["navn"];))
så der står
if (isset($_POST["navn"]))

Det kan være, at det retter noget for dig ;-)
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