Avatar billede nielschristiansen Nybegynder
10. november 2003 - 18:48 Der er 13 kommentarer og
1 løsning

hjælp til if else

hej jeg startede med at lære php her i weekenden og det er nu løkkedes mig at lave en mail form der sender mail og det jo som det skal være men nu vil jeg gerne checke om folk har skrevet i formen før de sender mailen. jeg Har prøvet forskellige ting bla noget fra en gæste bog men der ikke noget der virker er der nogle der kan hjælpe mig.
jeg har skrevet dette i min phpfil.

<?php

$over = $_REQUEST["over"];
$navn = $_REQUEST["navn"];
$adr = $_REQUEST["adr"];
$post = $_REQUEST["post"];
$note = $_REQUEST["note"];
$tel = $_REQUEST["tel"];
$num = $_REQUEST["num"];

if ($_REQUEST['$navn']!="") {
    $fejl = "du skal udfylde navn";
  }



  mail("hunde-liv@hunde-liv.dk",
    "$over","$note","$navn.\n$adr.\n$num.\n$tel.\n$post");
 

echo "Hej $navn<br> Din mail er sendt, du hører fra os hurtigst muligt";

?>

det virker ikke efter hensigten for den sender bare mailen uden at give fejl
hvad gør jeg ?????
mvh. Niels Christiansen
Avatar billede htm Nybegynder
10. november 2003 - 18:52 #1
if ($_REQUEST['navn']!="") {
    echo "du skal udfylde navn";
}
else {
    mail("hunde-liv@hunde-liv.dk",
    "$over","$note","$navn.\n$adr.\n$num.\n$tel.\n$post");

echo "Hej $navn<br> Din mail er sendt, du hører fra os hurtigst muligt";
}
Avatar billede exp Juniormester
10. november 2003 - 18:56 #2
Det er da forkert...

<?php

$over = $_REQUEST["over"];
$navn = $_REQUEST["navn"];
$adr = $_REQUEST["adr"];
$post = $_REQUEST["post"];
$note = $_REQUEST["note"];
$tel = $_REQUEST["tel"];
$num = $_REQUEST["num"];

if (strlen($_REQUEST['$navn']) == 0) {
    $fejl = "du skal udfylde navn";
} else {
    mail("hunde-liv@hunde-liv.dk",
    "$over","$note","$navn.\n$adr.\n$num.\n$tel.\n$post");

    echo "Hej $navn<br> Din mail er sendt, du hører fra os hurtigst muligt";
}
?>
Avatar billede nielschristiansen Nybegynder
10. november 2003 - 18:56 #3
Nu har jeg prøvet at kopiere det ind og lægge det ud men der sker stadig ikke noget har du et andet forslag ??
Avatar billede nielschristiansen Nybegynder
10. november 2003 - 19:00 #4
hej exp nu har jeg også prøvet dit men der bliver skærmen bare blank ingen fejl meddelelse
Avatar billede htm Nybegynder
10. november 2003 - 19:00 #5
<?php

$over = $_REQUEST["over"];
$navn = $_REQUEST["navn"];
$adr = $_REQUEST["adr"];
$post = $_REQUEST["post"];
$note = $_REQUEST["note"];
$tel = $_REQUEST["tel"];
$num = $_REQUEST["num"];

if (isset($_REQUEST['navn']) && !empty($_REQUEST['navn'])) {
  mail("hunde-liv@hunde-liv.dk",
  "$over","$note","$navn.\n$adr.\n$num.\n$tel.\n$post");
    echo "Hej $navn<br> Din mail er sendt, du hører fra os hurtigst muligt";
}
else {
  echo "Du skal udfylde navn";
}
?>

Ahrrrrm exp>> Hvad laver $ inde i _REQUEST[] :-)
Avatar billede exp Juniormester
10. november 2003 - 19:02 #6
htm >>
hehe... den havde jeg slet ikke set - saksede bare fra spørgsmålet, uden lige at løbe den helt igennem *GG*
Avatar billede nielschristiansen Nybegynder
10. november 2003 - 19:08 #7
du er for sej tak for hjælpen
Avatar billede htm Nybegynder
10. november 2003 - 19:09 #8
Øøøøh - var det exps løsning der hjalp dig?
Avatar billede exp Juniormester
10. november 2003 - 19:12 #9
ehh tak :-)
Avatar billede spunk13 Nybegynder
10. november 2003 - 19:12 #10
Du burde nok erstatte REQUEST med POST eller GET.

GET er når variablerne bliver overført via adresselinjen(script.php?var1=hund&var2=kat&var3=fisk).

POST bruges hvis du overfører via en form, selvom du dog også godt kan fortælle den at den skal bruge GET.

PHP se på det sådan her:
>Hvis $navn er "", så skal $fejl være "du skal udfylde navn". Derefter så send en mail<

Du skal fortælle den at den skal stoppe op hvis navn er lig med "", det gøres ved at skrive return false; desuden så echo'er du ikke din fejlmelding så vidt jeg kan se.

Jeg ville nok lave if sætningen om til

if (isset($_GET['error'])) {
echo $_GET['error'].", tryk tilbage";
return false;
} elseif ($navn == "") {
$error = "Du skal udfylde navn";
$script = $_SERVER['PHP_SELF']."?error=$error";
header("location: $script");
} else {
mail("hunde-liv@hunde-liv.dk",
    "$over","$note","$navn.\n$adr.\n$num.\n$tel.\n$post");

    echo "Hej $navn<br> Din mail er sendt, du hører fra os hurtigst muligt";
}
Avatar billede spunk13 Nybegynder
10. november 2003 - 19:12 #11
:)
Avatar billede nielschristiansen Nybegynder
10. november 2003 - 20:19 #12
spunk13 tak for hjælpen
Avatar billede exp Juniormester
10. november 2003 - 21:16 #13
hvis løsning brugte du?!? :-D
Avatar billede nielschristiansen Nybegynder
10. november 2003 - 21:19 #14
din men jeg sidder faktisk lige og leger med det og hvad gør jeg hvis der er flere forms jeg vil checke for indhold ? jeg har prøvet med elseif men synes ikke rigtigt det virker hvad skal jeg gøre ??
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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