Archief - Contact formulier doet niet helemaal wat het moet doen

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
Ik ben bezig met het aanpassen van een contact formulier wat ik op internet gevonden heb (php/java kan ik wel wat aanpassen en toepassen maar zelf schrijven kan ik niet). Het contact formulier werkt perfect, maar vanaf ik de code die onderaan tussen "TOEGEVOEGD" tag staat toevoeg om een extra veld toe te voegen doet hij een paar dingen verkeerd:

- Op de pagina zelf krijg ik de melding "Telefoonnummer vereist" als ik op Send Message klik maar ik krijg de mail wel aan maar het contact formulier maakt zichzelf niet leeg en toont dus die melding.
- in de mail zelf wilt hij de telefoonnummer niet tonen

HTML
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>
             [TOEGEVOEGD] <div class="form-group">
	              <div class="controlls">
		              <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>[/TOEGEVOEGD]
              <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> Send Message</button>
              <div id="msgSubmit" class="h3 text-center hidden"></div> 
              <div class="clearfix"></div>   

            </form>


PHP SCRIPT
PHP:
<?php
 
$errorMSG = "";
 
// NAME
if (empty($_POST["name"])) {
    $errorMSG = "Name is required ";
} else {
    $name = $_POST["name"];
}
 
// EMAIL
if (empty($_POST["email"])) {
    $errorMSG .= "Email is required ";
} else {
    $email = $_POST["email"];
}

[TOEGEVOEGD]// PHONE
if (empty($_POST["phone"])) {
	$errorMSG = "Telefoonnummer vereist";
} else {
	$name=$_POST["phone"];
}[/TOEGEVOEGD]
 
// MSG SUBJECT
if (empty($_POST["msg_subject"])) {
    $errorMSG .= "Subject is required ";
} else {
    $msg_subject = $_POST["msg_subject"];
}
 
 
// MESSAGE
if (empty($_POST["message"])) {
    $errorMSG .= "Message is required ";
} else {
    $message = $_POST["message"];
}
 
//Add your email here
$EmailTo = "email adres";
$Subject = "New Message Received";
 
// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $name;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $email;
$Body .= "\n";
[TOEGEVOEGD]$Body .= "Phone :";
$Body .= $phone;
$Body .= "\n";[/TOEGEVOEGD]
$Body .= "Subject: ";
$Body .= $msg_subject;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $message;
$Body .= "\n";
 
// send email
$success = mail($EmailTo, $Subject, $Body, "From:".$email);
 
// redirect to success page
if ($success && $errorMSG == ""){
   echo "success";
}else{
    if($errorMSG == ""){
        echo "Something went wrong :(";
    } else {
        echo $errorMSG;
    }
}
 
?>


JAVASCRIPT
PHP:
$("#contactForm").validator().on("submit", function (event) {
    if (event.isDefaultPrevented()) {
        // handle the invalid form...
        formError();
        submitMSG(false, "Gelieve alle velden correct in te vullen.");
    } else {
        // everything looks good!
        event.preventDefault();
        submitForm();
    }
});


function submitForm(){
    // Initiate Variables With Form Content
    var name = $("#name").val();
    var email = $("#email").val();
    [TOEGEVOEGD]var phone = $("#phone").val();[/TOEGEVOEGD]
    var msg_subject = $("#msg_subject").val();
    var message = $("#message").val();


    $.ajax({
        type: "POST",
        url: "php/form-process.php",
        data: "name=" + name + "&email=" + email + [TOEGEVOEGD]"&phone" + phone +[/TOEGEVOEGD] "&msg_subject=" + msg_subject + "&message=" + message,
        success : function(text){
            if (text == "success"){
                formSuccess();
            } else {
                formError();
                submitMSG(false,text);
            }
        }
    });
}

function formSuccess(){
    $("#contactForm")[0].reset();
    submitMSG(true, "Bericht verzonden.")
}

function formError(){
    $("#contactForm").removeClass().addClass('shake animated').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function(){
        $(this).removeClass();
    });
}

function submitMSG(valid, msg){
    if(valid){
        var msgClasses = "h3 text-center tada animated text-success";
    } else {
        var msgClasses = "h3 text-center text-danger";
    }
    $("#msgSubmit").removeClass().addClass(msgClasses).text(msg);
}

Alvast bedankt voor enige hulp of om mij op de juiste weg te wijzen.

kows

Legacy Member
$name=$_POST["phone"]; -> $phone = $_POST["phone"];

en

data: "name=" + name + "&email=" + email + [TOEGEVOEGD]"&phone" + phone +[/TOEGEVOEGD] "&msg_subject=" + msg_subject + "&message=" + message,

in bovenstaande &phone -> &phone=

zijn alvast 2 issues.

I Rex I

Legacy Member
Uw formulier is vatbaar voor SQL injection.

gebruik: mysql_real_escape_string

Carrion

Legacy Member
@ kows:

Dat waren inderdaad de 2 zaken die voor problemen zorgde, dikke merci voor de hulp!

@ demon326

Ik zal er zeker eens naar kijken!

@ | Rex |

Ik maak geen gebruik van een database.

PVL

Legacy Member
@Rex mysql is vatbaar voor injections, gebruik mysqli of nog beter PDO.
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