Archief - Redirect naar nieuwe pagina na form submit

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Carrion

Legacy Member
Hallo,

ik heb het volgende contact formulier, maar nu zou dit aangepast moeten worden zodat deze na het succesvol doorsturen redirect naar een nieuwe succes pagina ipv de tekst "Verzonden" te tonen. Nu ben ik al enkele dagen vanalles aan het proberen maar niets lijkt te lukken. Dit is de code die ik gebruik:

Contact formulier
HTML:
<form role="form" id="contactForm" class="contact-form" data-toggle="validator" class="shake">
              <div class="form-group">
                <div class="controls">
                  <input type="text" id="name" class="form-control" placeholder="Naam & Voornaam" required data-error="Gelieve uw naam in te vullen.">
                  <div class="help-block with-errors"></div>
                </div>
              </div>
              <div class="form-group">
                <div class="controls">
                  <input type="email" class="email form-control" id="email" placeholder="Email" required data-error="Gelieve uw email adres in te vullen.">
                  <div class="help-block with-errors"></div>
                </div>
              </div>
              <div class="form-group">
	              <div class="controls">
		              <input type="text" id="phone" class="form-control" placeholder="Telefoonnummer" required data-error="Gelieve uw telefoonnummer in te vullen.">
		              <div class="help-block with-errors"></div>
	              </div>
              </div>
              <div class="form-group">
                <div class="controls">
                  <input type="text" id="msg_subject" class="form-control" placeholder="Onderwerp" required data-error="Gelieve een onderwerp in te vullen.">
                  <div class="help-block with-errors"></div>
                </div>
              </div>
              <div class="form-group">
                <div class="controls">
                  <textarea id="message" rows="7" placeholder="Bericht" class="form-control" required data-error="Gelieve uw bericht in te vullen."></textarea>
                  <div class="help-block with-errors"></div>
                </div>  
              </div>

              <button type="submit" id="submit" class="btn btn-success"></i>Verzend!</button>
              <div id="msgSubmit" class="h3 text-center hidden"></div> 
              <div class="clearfix"></div>   

            </form>

Form proces
PHP:
<?php
 
$errorMSG = "";
 
// NAME
if (empty($_POST["name"])) {
    $errorMSG = "Gelieve uw naam in te vullen.";
} else {
    $name = $_POST["name"];
}
 
// EMAIL
if (empty($_POST["email"])) {
    $errorMSG .= "Gelieve uw email adres in te vullen.";
} else {
    $email = $_POST["email"];
}

// PHONE
if (empty($_POST["phone"])) {
	$errorMSG .= "Gelieve uw telefoonnummer in te vullen.";
} else {
	$phone = $_POST["phone"];
}
 
// MSG SUBJECT
if (empty($_POST["msg_subject"])) {
    $errorMSG .= "Gelieve een onderwerp in te vullen.";
} else {
    $msg_subject = $_POST["msg_subject"];
}
 
 
// MESSAGE
if (empty($_POST["message"])) {
    $errorMSG .= "Gelieve een bericht in te vullen";
} else {
    $message = $_POST["message"];
}
 
//Add your email here
$EmailTo = "e-mail adtes";
$Subject = "Nieuw bericht van website";
 
// prepare email body text
$Body = "";
$Body .= "Naam: ";
$Body .= "\n";
$Body .= $name;
$Body .= "\n";
$Body .= "\n";
$Body .= "Email: ";
$Body .= "\n";
$Body .= $email;
$Body .= "\n";
$Body .= "\n";
$Body .= "Telefoonnummer: ";
$Body .= "\n";
$Body .= $phone;
$Body .= "\n";
$Body .= "\n";
$Body .= "Onderwerp: ";
$Body .= "\n";
$Body .= $msg_subject;
$Body .= "\n";
$Body .= "\n";
$Body .= "Bericht: ";
$Body .= "\n";
$Body .= $message;
$Body .= "\n";
$Body .= "\n";
 
// send email
$success = mail($EmailTo, $Subject, $Body, "From:".$email);
 
// redirect to success page
if ($success && $errorMSG == ""){
   echo "Verzonden!";
}else{
    if($errorMSG == ""){
        echo "Er is een fout opgetreden, probeert u aub opnieuw.";
    } else {
        echo $errorMSG;
    }
}
 
?>

Carrion

Legacy Member
Die header optie heb ik al geprobeerd. Ik vervang de echo "Verzonden!" met de header redirect maar dan werkt het formulier niet meer.

Destel

Legacy Member
Heb je eigenlijk wel een redirect nodig? Kan je niet gewoon require_once("success.php") doen?

Een redirect in php doe je met header(), en die zal enkel werken als er nog geen enkele code naar de browser werd gestuurd (geen errors, geen <html> tags, ... anders werkt het niet).

vibrator

Legacy Member
PHP:
 header('Location: redirect_locatie.php');  //redirect_locatie.php vervangen door de pagina waarnaartoe je wilt redirecten
exit();

En dit:
Destel zei:
Een redirect in php doe je met header(), en die zal enkel werken als er nog geen enkele code naar de browser werd gestuurd (geen errors, geen <html> tags, ... anders werkt het niet).
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan