nach dem senden eines kontaktformulars auf andere website leiten? checkbox einfügen

alexfromgalex

Grünschnabel
Hallo,

ich habe folgendes PHP Skript und möchte dass der Nutzer nach dem Senden auf eine andere Website weitergeleitet wird und nicht dass lediglich die Kontaktseite mit ner bloßen Bestätigungsbox erscheint.

Darüber hinaus hätte ich gern eine checkbox unter dem punkt phonenumber und dass der einzugebende text auf 1500 zeichen limitiert ist.

Kann mir jemand helfen?

Hier das Skript:

<?
// edit these lines
$your_name="";
$your_email="";
$your_web_site_name="";
?>

<?php
//If the form is submitted
if(isset($_POST['name'])) {

//Check to make sure that the name field is not empty
if(trim($_POST['name']) === '') {
$hasError = true;
} else {
$name = trim($_POST['name']);
}

//Check to make sure sure that a valid email address is submitted
if(trim($_POST['email']) === '') {
$hasError = true;
} else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {
$hasError = true;
$errorMessage = "Please enter a valid email address!";
} else {
$email = trim($_POST['email']);
}

//Check to make sure that the phone field is not empty
if(trim($_POST['phone']) === '') {
$hasError = true;
} else {
$phone = trim($_POST['phone']);
}

//company name
$company_name = trim($_POST['company_name']);

//company url
$company_url = trim($_POST['company_url']);


//Check to make sure comments were entered
if(trim($_POST['message']) === '') {
$hasError = true;
} else {
if(function_exists('stripslashes')) {
$comments = stripslashes(trim($_POST['message']));
} else {
$comments = trim($_POST['message']);
}
}



//If there is no error, send the email
if(!isset($hasError)) {

$emailTo = $your_email;
$subject = 'Contact Form Submission from '.$name;

//message body
$body ="Name: $name \n\n";
$body .="Email: $email \n\n";
$body .="Phone:$phone\n\n";
$body .="Company Name:$company_name\n\n";
$body .="Company Url:$company_url \n\n";
$body .="Message: $comments";


$headers = 'From: '.$your_web_site_name.' <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;

mail($emailTo, $subject, $body, $headers);

$emailSent = true;
}
}
?>

<?php if(isset($emailSent) == true) { ?>
<div class="ok_box">
<h3>Thanks, <?php echo $name;?></h3>
<p>Bitte klicken Sie hier um den Bezahlvorgang abzuschließen <a href="index.html">BEZAHLEN</a>.</p>
</div>
<?php } ?>

<?php if(isset($hasError) ) { ?>
<div class="error_box">
There was an error submitting the form.
<br />
<?php echo $errorMessage;?>
</div>
<?php } ?>
 
danke, aber ich bin echt ein absolute beginner mich müsste man also an der hand nehmen, ich kann mit den links nichts anfangen...

wär super wenn mir jemand helfen könnte

lg aus münchen

alex
 
Zur Frage 1:
Entweder wie Tim gesagt hat, mit header() oder mit
Code:
<meta http-equiv="refresh" content="0; URL=index.php">

Frage 2:
Eine Checkbox solltest du doch dort reinbekommen, wenn du schon das Script soweit geschrieben hast.

Frage 3:
Steht auch alles im anderen Link von Tim, sogar mit Code und allem drum und dran.
wenn du aber nicht mit JS arbeiten willst, kannst du das auch einfach über eine Schleife abfragen, d.h. du nimmst den Text und zählst mittels strlen() nach wieviele Zeichen eingegeben wurde.
Wenn mehr als dein Wert, dann eben error und nicht senden, ansonsten abschicken.
 
Vielen Dank. Checkbox habe ich hinbekommen. Limited Words auch. Mein größtes Problem ist aber die Weiterleitung auf z.B. die Index Seite nach Ausfüllen des Kontaktformulars. Wo in meinem Skript müsste ich denn den <meta http-equiv="refresh" content="0; URL=index.php"> Code einsetzen oder gar durch was ersetzen?
 
Am besten du packst es da rein, wo auch die Ausgabe kommt, dass die Email erfolgreich gesendet wurde.
Wenn du das aber nicht weißt, solltest du dich vllt etwas mehr mit PHP beschäftigen, denn viele Fehlerquellen lassen sich schnell beseitigen, wenn man den Code den man benutzt auch versteht.
 
Ich weis zwar nicht warum du nach Abschluss auf ne Seite statt ne Meldung möchtest abe nuja ich würde es so versuchen:

PHP:
<?php if(isset($emailSent) == true)
          {
       	      header ("LOCATION: hier die URL");
       	      die;
          }

Ist zwar jetz nicht getestet dürfte aber laufen!
 
Bin mir jetzt nicht sicher ob ich Deinen Code an der richtigen Stelle eingesetzt habe oder ihn durch einen vorhanden ersetzen musste aber ich bekam folgende Fehlermeldung:

Parse error: syntax error, unexpected '<' in /homepages/45/d77048884/htdocs/ebay/contact_form.php on line 55

Gibts ne bestimmte Stelle im Code wo ich ihn hineinsetzen muss oder einen anderen dafür klöschen muss?

Vielen herzlichen DANK

ALEX
 

Neue Beiträge

Zurück