We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 18985
    • 29 Posts
    Hallo,

    Ik ben bezig met het ontwikkelen van een website. Daarbij heb ik extern php-code gemaakt die uit een database emailadressen laat zien die bij een bepaalde postcode horen. Ik heb de code gecopy-paste in de editor in modx, maar het lijkt alsof de php-code wordt genegeerd of verkeerd wordt gelezen. Buiten modx werkt het namelijk probleemloos. In de attachment is te zien hoe het in modx uitziet.

    De code is als volgt:
    ------------------------------------------
    <?php include ’inc_connect.php’; ?>


    <?php
    if (empty($_POST)){
    //controle of formulier is ingevuld.
    ?>
    Wilt u op de hoogte gehouden worden<br />
    van waar en wanneer u foto’s kunt laten maken laat dan hier

    uw gegeven af:

    <form method="post" action="inschrijven.php">
    Achternaam:<input type="text" name="achternaam" size="35" />

    Emailadres:<input type="text" name="emailadres" size="50" />

    Postcode:<input type="text" name="postcode" size="10" maxlength="6"/><sub>Vb.: 1234AB</sub>
    <hr />
    <input type="submit" value="Invoeren" />
    <input type="Reset" value="Leeg maken" />
    </form>
    <?php
    }
    else {
    // Postcode wordt hier omgezet van Vb. 1234ab naar 1234AB
    $postcode = $_POST["postcode"];
    $postcode = strtoupper($postcode);

    // email-validator-functie wordt hier aangeroepen en uitgevoerd
    function email_validator($email)
    {
    if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
    { $valid = "yes"; }
    else
    { $valid = "no"; }
    return $valid;
    }
    $email = $_POST["emailadres"];
    $check_email = email_validator($email);

    if ($check_email == "yes")
    {
    //Ok email is goed, Query opbouwen met variabelen in $_POST
    $sql= "INSERT INTO klanten (achternaam, emailadres, postcode) VALUES
    (’".$_POST["achternaam"]."’,’".$email."’,’".$postcode."’)";

    $result = mysql_query($sql) or die ("FOUT: " . mysql_error());

    echo("De volgende gegevens zijn ingevoerd:
    ");
    echo("Achternaam: ".$_POST["achternaam"]."
    ");
    echo("Emailadres: ".$email."
    ");
    echo("Postcode: ".$postcode."
    ");
    }
    else // email is niet in orde
    {
    echo "Het e-mail adres: $email is <b>niet</b> oke!<p>";
    }


    }
    ?>
    --------------------------------------------------------
      • 10449
      • 956 Posts
      You can’t use PHP directly in a document. Use a snippet instead.
        • 18985
        • 29 Posts
        Thank you for your help.
          • 25483
          • 741 Posts
          Volgens mij kan je hier ook eform-to-db voor gebruiken smiley

          En anders idd ombouwen tot een snippet.
            with regards,

            Ronald Lokers
            'Front-end developer' @ h2o Media

            • 7455
            • 2,204 Posts
            in een snippet moet je ipv echo alles in een string gooien en die returnen:

            dan word het een beetje als dit:
            <?php
            if (empty($_POST)){
               //controle of formulier is ingevuld.
            $output ='
                Wilt u op de hoogte gehouden worden<br  />
               van waar en wanneer u foto's kunt laten maken laat dan hier<br />
               uw gegeven af:<br />
               <form method="post" action="inschrijven.php">
                Achternaam:<input type="text" name="achternaam" size="35" /><br />
                Emailadres:<input type="text" name="emailadres" size="50"  /><br />
                Postcode:<input type="text" name="postcode" size="10" maxlength="6"/><sub>Vb.: 1234AB</sub>
                <hr />
                <input type="submit" value="Invoeren" />
                <input type="Reset" value="Leeg maken"  />
                </form>';
            }
            else {
                  // Postcode wordt hier omgezet van Vb. 1234ab naar 1234AB
                  $postcode = $_POST["postcode"];
                  $postcode = strtoupper($postcode);
                  
                  // email-validator-functie wordt hier aangeroepen en uitgevoerd
                  function email_validator($email)
                  {
                     if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
                     { $valid = "yes"; }
                     else
                     { $valid = "no"; }
                     return $valid;
                  }
                  $email = $_POST["emailadres"];
                  $check_email = email_validator($email);
                  
                  if ($check_email == "yes")
                  {
                     //Ok email is goed, Query opbouwen met variabelen in $_POST
                     $sql= "INSERT INTO klanten (achternaam, emailadres, postcode) VALUES
                     ('".$_POST["achternaam"]."','".$email."','".$postcode."')";
               
                     $result = mysql_query($sql) or die ("FOUT: " . mysql_error());
               
             $output = "De volgende gegevens zijn ingevoerd:<br />";
             $output .= "Achternaam: ".$_POST['achternaam']."<br />";
             $output .= "Emailadres: ".$email."<br />";
             $output .= "Postcode: ".$postcode."<br />";
                  }
                  else // email is niet in orde
                  {
             $output = "Het e-mail adres: $email is <b>niet</b> oke!<p>";
                  }
            }
            return $output;   
            ?>
            

              follow me on twitter: @dimmy01