Hej udviklere...
Jeg skal have implementeret dette smarte "system" som adam kalsey har lavet, i min form.
Her forklarer han hvad det går ud på:
http://kalsey.com/2003/07/simplified_form_errors/Det hele går ud på at jeg er ved at lave en form, som brugeren skal udfylde (hvis der er fejl skal den vise det på siden med det samme, altså som adam kalsey giver et eksempel på), og hvis hele formen er udfyldt korrekt skal de informationer sendes til min email.
Da jeg er nybegynder, tog jeg først fat i hans eksempel for derefter ligeså stille at implementere min egen form.
Jeg er kommet så langt, sammenlignet med hans eksempel, er det meget ens, udover det jeg selv har skrevet (se kommentar i koden)
<?php
// Create an empty array to hold the error messages.
$arrErrors = array();
//Only validate if the Submit button was clicked.
if (!empty($_POST['Submit'])) {
// Each time there’s an error, add an error message to the error array
// using the field name as the key.
if ($_POST['name']=='')
$arrErrors['name'] = 'Please provide your name.';
if ($_POST['email']=='')
$arrErrors['email'] = 'A valid email address is required.';
if ($_POST['phone']=='')
$arrErrors['phone'] = 'Please provide your phone number.';
if (count($arrErrors) == 0) {
// Hvis der ikke er nogen fejl, skal man her skrive hvad der skal ske
// Dette er skrevet af mig
$EmailTo = "minmail";
$Subject = "emne";
$Body = "";
$Body .= "Name: ";
$Body .= $name;
$Body .= "\\n";
$Body .= "Email: ";
$Body .= $email;
$Body .= "\\n";
$Body .= "Phone: ";
$Body .= $phone;
$Body .= "\\n";
$success = mail($EmailTo, $Subject, $Body, "From: <$email>");
// redirect to success page
if ($success){
print "<meta http-equiv=\\"refresh\\" content=\\"0;URL=ok.htm\\">";
}
//Her fortsætter hans eksempel
} else {
// The error array had something in it. There was an error.
// Start adding error text to an error string.
$strError = '<div class="formerror"><p><img src="triangle_error.gif" width="16" height="16" hspace="5" alt="">Please check the following and try again:</p><ul>';
// Get each error and add it to the error string
// as a list item.
foreach ($arrErrors as $error) {
$strError .= "<li>$error</li>";
}
$strError .= '</ul></div>';
}
}
?>
<style>
label {
width: 80px;
text-align: right;
float: left;
}
.formerror {
border: 1px solid red;
background-color : #FFCCCC;
width: auto;
padding: 5px 0;
}
.errortext {
padding-left: 80px;
font: bold smaller sans-serif;
}
</style>
<?php echo $strError; ?>
<form method="post" action="<?php echo $PHP_SELF; ?>">
<p<?php if (!empty($arrErrors['name'])) echo ' class="formerror"'; ?>>
<label for="name">Name:</label>
<input name="name" type="text" id="name" value="<?php echo $_POST['name'] ?>">
<?php if (!empty($arrErrors['name'])) echo '<img src="triangle_error.gif" width="16" height="16" hspace="5" alt=""><br /><span class="errortext">'.$arrErrors['name'].'</span>'; ?>
</p>
<p<?php if (!empty($arrErrors['email'])) echo ' class="formerror"'; ?>>
<label for="email">Email:</label>
<input name="email" type="text" id="email" value="<?php echo $_POST['email'] ?>">
<?php if (!empty($arrErrors['email'])) echo '<img src="triangle_error.gif" width="16" height="16" hspace="5" alt=""><br /><span class="errortext">'.$arrErrors['email'].'</span>'; ?>
</p>
<p<?php if (!empty($arrErrors['phone'])) echo ' class="formerror"'; ?>>
<label for="phone">Phone:</label>
<input name="phone" type="text" id="phone" value="<?php echo $_POST['phone'] ?>">
<?php if (!empty($arrErrors['phone'])) echo '<img src="triangle_error.gif" width="16" height="16" hspace="5" alt=""><br /><span class="errortext">'.$arrErrors['phone'].'</span>'; ?>
</p>
<p>
<input type="submit" name="Submit" value="Submit">
</p>
</form>
Under testen virkede adam kalsey's "system" som det skulle, så det var jeg tilfreds med. Men hvis der ingen fejl var i formen, skal den som sagt, sende informationerne fra formen til min email.
Den formår at sende emailen, men der hvor den udskriver informationerne, er der intet, så jeg får en mail der ser sådan ud:
Name:
Email:
Phone:
Umiddelbart vil jeg mene at det har noget at gøre med rækkefølgen af koden, men hvor det går galt er et stort spørgsmålstegn for mig (nybegynderen)..
Derfor spørger jeg nu jer, der sikkert er en del kvikkere end mig..
Hvor går det galt og hvad kan jeg gøre for at ordne det..