Avatar billede dj.iceman Nybegynder
19. marts 2005 - 13:55 Der er 5 kommentarer og
1 løsning

Alle felter skal udfyldes.

Hej ...

Jeg har denne kode

<?php

    if($_POST[navn] && $_POST[email] && $_POST[besked]) {
    $msg = "Email er henvendt til :\t$_POST[r1]\r\n\r\n";
    $msg .= "Fra :\t$_POST[navn]\r\n";
    $msg .= "Telefonnummer :\t$_POST[telefon]\r\n";
    $msg .= "Email :\t$_POST[email]\r\n\r\n";
    $msg .= "Emne :\t$_POST[emne]\r\n";
    $msg .= "Beskeden :\t$_POST[besked]\r\n\r\n";

    $minemail = "Mail";
    $emne = "Tekst";

    $mailheaders = "From: Formmail <> \r\n";
    $mailheaders .= "Reply-To: $_POST[email]\r\n\r\n";
    mail($minemail, $emne, $msg, $mailheaders);
    print "<meta http-equiv=\"Refresh\" content=\"0;url=tak.html\">";
    }
    else{
    header("location: submit.php");
    }
?>

... jeg vil gerne have at alle felterne skal være udfyldte inden mailen kan sendes, og hvis de ikke er, skal der skrives en 'advarsel' om at alle felter ikke er udfyldt!
Hvordan bygger jeg det på?
Avatar billede alaflam Nybegynder
19. marts 2005 - 14:01 #1
du kan lave en foreach der kører gennem alt i <form>

eller du kan bruge funktionen empty();

if (empty($_POST["navn"]))
echo "du har glemt at skrive dit naavn";
Avatar billede dj.iceman Nybegynder
19. marts 2005 - 14:06 #2
Hvad er nemmest? Og hvad er en foreach?
Avatar billede sukos Juniormester
19. marts 2005 - 15:02 #3
Her er en jeg lavede for lang tid siden:
Kan nok laves anderledes! :O)

<?php
session_start();

$message = "Feltet er ikke udfyldt!";

function tjekform($var) {
global $message;
if(isset($_SESSION[$var])) {
    if($_SESSION[$var] == $message) {
    echo" * <font color=\"red\" size=-1\">". $_SESSION[$var] ."</font>";
    }else{
    echo" value=\"". $_SESSION[$var] ."\"";
        }
unset($_SESSION[$var]);
    }
}

if(isset($_POST["formsubmit"])) {
$_SESSION["fejlnr"] = 0;
$_SESSION["antal"] = 0;

    foreach($_POST as $key=>$value) {
    $_SESSION["fejlnr"]++;
        if(trim($value) == "") {
        $_SESSION["antal"]++;
        $_SESSION[$key. $_SESSION["fejlnr"]] = $message;
        }else{
        $_SESSION[$key] = $value;
        }
    }
header("Location:". $_SERVER["PHP_SELF"] ."");
exit;
}
?>
<html>

<head>
<title>Tjek formfelter</title>
</head>

<body>
<center>

<?php
if(isset($_SESSION["antal"]) && $_SESSION["antal"] != 0) {
echo"<b>Du mangler at udfylde ". $_SESSION["antal"] ." felter!</b><p>";
unset($_SESSION["antal"]);
}
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<input type="hidden" name="formsubmit" value="true">

Tjek formfelter:<br>

<table><tr>
    <td>Navn</td>
    <td><input type="text" name="navn"<?php tjekform("navn"); ?>><?php tjekform("navn2"); ?></td>
</tr><tr>
    <td>Adresse</td>
    <td><input type="text" name="adresse"<?php tjekform("adresse"); ?>><?php tjekform("adresse3"); ?></td>
</tr><tr>
    <td>Postnr.</td>
    <td><input type="text" name="postnr" size="5"<?php tjekform("postnr"); ?>><?php tjekform("postnr4"); ?></td>
</tr><tr>
    <td>By.</td>
    <td><input type="text" name="city"<?php tjekform("city"); ?>><?php tjekform("city5"); ?></td>
</tr><tr>
    <td>Telefon</td>
    <td><input type="text" name="tlf"<?php tjekform("tlf"); ?>><?php tjekform("tlf6"); ?></td>
</tr><tr>
    <td>E-Mail</td>
    <td><input type="text" name="email"<?php tjekform("email"); ?>><?php tjekform("email7"); ?></td>
</tr>
</table>
<input type="submit" value="Tjek form">
</form>
</center>
</body>

</html>
Avatar billede alaflam Nybegynder
20. marts 2005 - 15:00 #4
sukos ikke så kompliceret for ham :)

dj.iceman
læs om empty funktionen på www.php.net hjemmesiden
Avatar billede dj.iceman Nybegynder
09. april 2005 - 22:24 #5
Synes godt nok at det er svært det her ... Nogen der kan hjælpe mig med at indsætte det i koden?

Koden:
<form method=post action="send.php">
<input type="radio" name="r1" value="KenkiDuo" checked>
<input type="radio" name="r1" value="Kenneth">
<input type="radio" name="r1" value="Nicki">
<input type="text" name="navn" class="boks" size="35">
<input type="text" name="telefon" class="boks" size="35">
<input type="text" name="email" class="boks" size="35">
<input type="text" name="emne" class="boks" size="35">
<textarea name="besked" cols="33" class="boks" rows="10" style="overflow:auto"></textarea>
<input type="submit" class="Submit" value="Send" border="0" name="B1">
<input class="Submit" type="reset" value="Nulstil" border="0">
</form>
Avatar billede dj.iceman Nybegynder
16. august 2005 - 10:25 #6
Lukker ...!
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