Hallo,
ich habe ein paar Probleme mit einem Kontaktformular. Ich benutze pear mail.
zwischen die beiden Element-teile schreibe wird das als befüllt validiert.
Viele Grüße
ich habe ein paar Probleme mit einem Kontaktformular. Ich benutze pear mail.
- Habe ich eine Fehler bei der Angabe der SMTP-infos gemacht?
- Wenn das Formular abgesendet wird und ein validationfehler auftaucht, wie kann ich umgehen das PEAR::isError($mail) ausgeführt wird. Das sollte nur ausgeführt werden wenn das wirklich rasugeht. Kann ich das überhauüt überprüfen?
Den das Absenden mit folgendem validate ist ja mit dem abschicken der Mail identisch. - Wie kann ich das textarea-Element überprüfen ob etwas drinnensteht?
Sobald ich
PHP:
<?php echo $description?>
PHP:
<?php
error_reporting(E_ALL);
require_once 'Mail.php';
//Validating the form
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (empty($_POST['name'])) {
$nameErr = "error";
}
else {
$name = $_POST['name'];
}
if (empty($_POST['email'])) {
$emailErr = 'error';
}
else {
$email = $_POST['email'];
}
if (empty($_POST['description'])) {
$txtErr = 'error';
}
else {
$txt = $_POST['description'];
}
}
//Prüfen ob Formular abgesendet wird
if(isset($_POST['javascript'])){
$name = trim(htmlspecialchars(str_replace(array("\r\n", "\r", "\0"), array("\n", "\n", ''), $_POST['name']), ENT_COMPAT, 'UTF-8'));
$email = trim(htmlspecialchars(str_replace(array("\r\n", "\r", "\0"), array("\n", "\n", ''), $_POST['email']), ENT_COMPAT, 'UTF-8'));
$to = 'mail@mailer.de';
$subject = 'Kontaktformular Webseite';
$description = $_POST['description'];
$body = 'Name: '. $name . '\r\n' . 'E-Mail Adresse: '. $email . '\r\n' . 'War javascript eingeschaltet: ' . $_POST['javascript'] . 'Nachricht:' . $description;
$host = "mail.mailer.de";
$username = "mail@mailer.de";
$password = "XYZ";
$headers = array (
'From' => $email,
'To' => $to,
'Subject' => $subject
);
$smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true, 'username' => $username, 'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo('<div class="alert alert-danger">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>Warnung!</strong> Es ist ein Fehler aufgetreten.
</div>');
}else {<div class="alert alert-success">
<button type="button" class="close" data-dismiss="alert">×</button>
Ihre Nachricht ist erfolgreich verschickt worden.
</div>
}
}
?>
<form method="post" id="contact-form" class="control-group" action="">
<div class="controls controls-row">
<input id="name" name="name" value="<?php echo htmlspecialchars($name);?>" type="text" class=" col-md-6 <?php echo $nameErr;?>" placeholder="Ihr Name" />
<input id="email" name="email" value="<?php echo htmlspecialchars($email);?>" type="email" class=" col-md-5 pull-right <?php echo $emailErr;?>" placeholder="Ihre E-Mail Adresse" />
</div>
<div class="controls">
<textarea id="message" name="description" class="col-xs-12 col-md-12 <?php echo $nameErr;?>" placeholder="Ihre Nachricht" rows="10" style="padding-left: 6px;"><?php echo $description?></textarea>
<script>
$(function(){
$('.jsvalidate').val('Ja');
});
</script>
<input type="hidden" class="jsvalidate" name="javascript" value="Nein" />
</div>
<div class="controls">
<button type="reset" name="reset" class="btn col-md-3 input-medium pull-left" style="margin-top: 11px; margin-left: 0">Zurücksetzen</button>
<button type="submit" name="submit" class="btn col-md-3 input-medium pull-right" style="margin-top: 11px;">Senden</button>
</div>
</form>
Viele Grüße