Resultaten 1 tot 15 van de 15

Onderwerp: contactform

  1. #1
    contactform
    geregistreerd gebruiker
    6 Berichten
    Ingeschreven
    25/03/18

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Henk

    Thread Starter

    contactform

    Ik wil een contactformulier op mijn website zetten, maar ik weet totaal niet waar en hoe ik
    moet beginnen. Met formmail was dat makkelijk, bestanden ophalen, adressen aanpassen en
    het werkte. Maar ik lees steeds dat dat een gevaarlijke methode is (geworden) dus moet het
    nu met SMTP. Maar hoe? Welk SMTP-adres? Als ik het eenmaal draaiend heb, kom ik er wel
    uit, dus wie heeft een werkend voorbeeld?

  2. #2
    contactform
    geregistreerd gebruiker
    3 Berichten
    Ingeschreven
    25/03/18

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Tony Sips

    Wat voor site draai je, plain html / php of bv. wordpress?

  3. #3
    contactform
    geregistreerd gebruiker
    6 Berichten
    Ingeschreven
    25/03/18

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Henk

    Thread Starter
    Ik draai gewoon html en php.

  4. #4
    contactform
    Hostingaddict
    383 Berichten
    Ingeschreven
    25/01/11

    Locatie
    Haarlem

    Post Thanks / Like
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Stefan Triep
    Bedrijf: Hostingindustries
    Functie: Eigenaar
    URL: www.hostingindustries.nl
    Registrar SIDN: JA
    ISPConnect: Lid
    KvK nummer: 74282476
    View stefantriep's profile on LinkedIn

    Kijk even naar PHPmailer Daarin kan je optie SMTP aanzetten: https://github.com/PHPMailer/PHPMail...ples/smtp.phps

  5. #5
    contactform
    geregistreerd gebruiker
    6 Berichten
    Ingeschreven
    25/03/18

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Henk

    Thread Starter
    Ik heb 'm gekopieerd, ingevuld waar nodig, geupload naar m'n server, chmod 755,
    en aangeroepen. Het enige wat gebeurde was dat de file in beeld kwam, alles te
    zien. Volgens mij ontbreekt er ook ?> aan.

  6. #6
    contactform
    geregistreerd gebruiker
    277 Berichten
    Ingeschreven
    08/01/05

    Locatie
    Zegveld

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Aar
    Functie: Webdeveloper
    Registrar SIDN: nee
    KvK nummer: n.v.t
    Ondernemingsnummer: nvt

    Dan is het of geen:
    - Of je mist de .php extentie in de bestandsnaam
    - Of je hostingplatform staat geen PHP toe.
    - Je roept je bestand niet via een URL aan
    - Je mist de <?php tag.

    Verder is phpMailer enkel de flexibele afhandeling voor het verzenden van mails, en geen contactformulier op sich.



  7. #7
    contactform
    geregistreerd gebruiker
    6 Berichten
    Ingeschreven
    25/03/18

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Henk

    Thread Starter
    Ik heb zowel smtp.phps als smtp.php geprobeerd.
    Mijn server gebruikt al lang PHP.
    Ik riep het bestand voluit aan: http://mijndomain.nl/smtp.php
    Ik mis niet de <?php tag, maar ik zie geen ?>

    Verder kun je mij alles wijs maken, ik ben er niet in thuis.
    Vandaar ook dat ik hier de vraag stel. Is het bestand bedoeld om
    eenmalig te draaien om iets aan te zetten soms?

  8. #8
    contactform
    geregistreerd gebruiker
    277 Berichten
    Ingeschreven
    08/01/05

    Locatie
    Zegveld

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Aar
    Functie: Webdeveloper
    Registrar SIDN: nee
    KvK nummer: n.v.t
    Ondernemingsnummer: nvt

    Een .phps is een source-bestand om je code out te putten. Die wordt niet uitgevoerd.

    Verder laat dit de code zien die voor de afhandeling bedoeld is. Je zult dus zelf je formulier eromheen moeten schrijven.
    Het heeft daarom ook niks met eenmalig uit te voeren te maken. Infeite zijn het functies die je aanroept.

    Verder is een ?> niet verplicht binnen PHP zolang er geen witregels of HTML na komt.

  9. #9
    contactform
    geregistreerd gebruiker
    45 Berichten
    Ingeschreven
    10/05/17

    Locatie
    Cercal

    Post Thanks / Like
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Fred
    Bedrijf: Alentejo Hosting
    URL: www.alentejohosting.nl

    contact.php
    Code:
    <!DOCTYPE html>
    <?php error_reporting(0); ?>
    <html lang="en">
      <head>
        <title>Secure contact form</title>
        <meta charset="utf-8">
        <style>
          p {
            margin: 0;
            color: red;
          }
        </style>
      </head>
      <body>
        
        <?php
          if(isset($_POST['submit'])){
            $name = htmlspecialchars(stripslashes(trim($_POST['name'])));
            $subject = htmlspecialchars(stripslashes(trim($_POST['subject'])));
            $email = htmlspecialchars(stripslashes(trim($_POST['email'])));
            $message = htmlspecialchars(stripslashes(trim($_POST['message'])));
            if(!preg_match("/^[A-Za-z .'-]+$/", $name)){
              $name_error = 'Invalid name';
            }
            if(!preg_match("/^[A-Za-z .'-]+$/", $subject)){
              $subject_error = 'Invalid subject';
            }
            if(!preg_match("/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/", $email)){
              $email_error = 'Invalid email';
            }
            if(strlen($message) === 0){
              $message_error = 'Your message should not be empty';
            }
          }
        ?>
        
        <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="POST">
          <label for="name">Name:</label><br>
          <input type="text" name="name">
          <p><?php if(isset($name_error)) echo $name_error; ?></p>
          <label for="subject">Subject:</label><br>
          <input type="text" name="subject">
          <p><?php if(isset($subject_error)) echo $subject_error; ?></p>
          <label for="email">Email:</label><br>
          <input type="text" name="email">
          <p><?php if(isset($email_error)) echo $email_error; ?></p>
          <label for="message">Message:</label><br>
          <textarea name="message"></textarea>
          <p><?php if(isset($message_error)) echo $message_error; ?></p>
          <input type="submit" name="submit" value="Submit">
          <?php 
            if(isset($_POST['submit']) && !isset($name_error) && !isset($subject_error) && !isset($email_error) && !isset($message_error)){
              $to = 'youremail@addres.com'; // edit here
              $body = " Name: $name\n E-mail: $email\n Message:\n $message";
              if(mail($to, $subject, $body)){
                echo '<p style="color: green">Message sent</p>';
              }else{
                echo '<p>Error occurred, please try again later</p>';
              }
            }
          ?>
        </form>
      
      </body>
    </html>
    en plaats onderstaande file in dezelfde directory (en vul het correcte emailadres in!)

    ContactForm.md
    Code:
    <?php
      if(isset($_POST['submit'])){
        $name = htmlspecialchars(stripslashes(trim($_POST['name'])));
        $subject = htmlspecialchars(stripslashes(trim($_POST['subject'])));
        $email = htmlspecialchars(stripslashes(trim($_POST['email'])));
        $message = htmlspecialchars(stripslashes(trim($_POST['message'])));
        if(!preg_match("/^[A-Za-z .'-]+$/", $name)){
          $name_error = 'Invalid name';
        }
        if(!preg_match("/^[A-Za-z .'-]+$/", $subject)){
          $subject_error = 'Invalid subject';
        }
        if(!preg_match("/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/", $email)){
          $email_error = 'Invalid email';
        }
        if(strlen($message) === 0){
          $message_error = 'Your message should not be empty';
        }
      }
    ?>
    
    <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="POST">
      <label for="name">Name:</label><br>
      <input type="text" name="name">
      <p><?php if(isset($name_error)) echo $name_error; ?></p>
      <label for="subject">Subject:</label><br>
      <input type="text" name="subject">
      <p><?php if(isset($subject_error)) echo $subject_error; ?></p>
      <label for="email">Email:</label><br>
      <input type="text" name="email">
      <p><?php if(isset($email_error)) echo $email_error; ?></p>
      <label for="message">Message:</label><br>
      <textarea name="message"></textarea>
      <p><?php if(isset($message_error)) echo $message_error; ?></p>
      <input type="submit" name="submit" value="Submit">
      <?php 
        if(isset($_POST['submit']) && !isset($name_error) && !isset($subject_error) && !isset($email_error) && !isset($message_error)){
          $to = 'youremail@addres.com'; // edit here
          $body = " Name: $name\n E-mail: $email\n Message:\n $message";
          if(mail($to, $subject, $body)){
            echo '<p style="color: green">Message sent</p>';
          }else{
            echo '<p>Error occurred, please try again later</p>';
          }
        }
      ?>
    </form>

  10. #10
    contactform
    geregistreerd gebruiker
    277 Berichten
    Ingeschreven
    08/01/05

    Locatie
    Zegveld

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Aar
    Functie: Webdeveloper
    Registrar SIDN: nee
    KvK nummer: n.v.t
    Ondernemingsnummer: nvt

    De huidige mail-functie heb je niet meer nodig, en kan je vervangen door de functies van phpMailer. Dat is ook wat de topicstarter graag wou i.p.v. de normale mail() functie.


    Verder kan je prima filter_var (zie ook: https://www.w3schools.com/php/func_filter_var.asp) gebruiken om je validatie van het controleren van een mailadres te bewerkstelligen. Een adres met pietje@modernekunst.museum zal niet eens werken, evenals jantje@ikwoonin.amsterdam.
    Laatst gewijzigd door Aar; 09/04/18 om 13:47.

  11. #11
    contactform
    geregistreerd gebruiker
    45 Berichten
    Ingeschreven
    10/05/17

    Locatie
    Cercal

    Post Thanks / Like
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Fred
    Bedrijf: Alentejo Hosting
    URL: www.alentejohosting.nl

    Met smtp zou je het als volgt kunnen doen:

    SMTPconfig.php
    Code:
    <?php
    //Server Address
    $SmtpServer="127.0.0.1";
    $SmtpPort="25"; //default
    $SmtpUser="username";
    $SmtpPass="password";
    ?>
    SMTPclass.php
    Code:
    <?php
    class SMTPClient
    {
    
    function SMTPClient ($SmtpServer, $SmtpPort, $SmtpUser, $SmtpPass, $from, $to, $subject, $body)
    {
    
    $this->SmtpServer = $SmtpServer;
    $this->SmtpUser = base64_encode ($SmtpUser);
    $this->SmtpPass = base64_encode ($SmtpPass);
    $this->from = $from;
    $this->to = $to;
    $this->subject = $subject;
    $this->body = $body;
    
    if ($SmtpPort == "") 
    {
    $this->PortSMTP = 25;
    }
    else
    {
    $this->PortSMTP = $SmtpPort;
    }
    }
    
    function SendMail ()
    {
    if ($SMTPIN = fsockopen ($this->SmtpServer, $this->PortSMTP)) 
    {
    fputs ($SMTPIN, "EHLO ".$HTTP_HOST."\r\n"); 
    $talk["hello"] = fgets ( $SMTPIN, 1024 ); 
    fputs($SMTPIN, "auth login\r\n");
    $talk["res"]=fgets($SMTPIN,1024);
    fputs($SMTPIN, $this->SmtpUser."\r\n");
    $talk["user"]=fgets($SMTPIN,1024);
    fputs($SMTPIN, $this->SmtpPass."\r\n");
    $talk["pass"]=fgets($SMTPIN,256);
    fputs ($SMTPIN, "MAIL FROM: <".$this->from.">\r\n"); 
    $talk["From"] = fgets ( $SMTPIN, 1024 ); 
    fputs ($SMTPIN, "RCPT TO: <".$this->to.">\r\n"); 
    $talk["To"] = fgets ($SMTPIN, 1024); 
    fputs($SMTPIN, "DATA\r\n");
    $talk["data"]=fgets( $SMTPIN,1024 );
    fputs($SMTPIN, "To: <".$this->to.">\r\nFrom: <".$this->from.">\r\nSubject:".$this->subject."\r\n\r\n\r\n".$this->body."\r\n.\r\n");
    $talk["send"]=fgets($SMTPIN,256);
    //CLOSE CONNECTION AND EXIT ... 
    fputs ($SMTPIN, "QUIT\r\n"); 
    fclose($SMTPIN); 
    //
    } 
    return $talk;
    } 
    }
    ?>
    index.php
    Code:
    <?php
    include('SMTPconfig.php');
    include('SMTPClass.php');
    if($_SERVER["REQUEST_METHOD"] == "POST")
    {
    $to = $_POST['to'];
    $from = $_POST['from'];
    $subject = $_POST['sub'];
    $body = $_POST['message'];
    $SMTPMail = new SMTPClient ($SmtpServer, $SmtpPort, $SmtpUser, $SmtpPass, $from, $to, $subject, $body);
    $SMTPChat = $SMTPMail->SendMail();
    }
    ?>
    <form method="post" action="">
    To:<input type="text" name="to" />
    From :<input type='text' name="from" />
    Subject :<input type='text' name="sub" />
    Message :<textarea name="message"></textarea>
    <input type="submit" value=" Send " />
    </form>

  12. #12
    contactform
    geregistreerd gebruiker
    277 Berichten
    Ingeschreven
    08/01/05

    Locatie
    Zegveld

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Aar
    Functie: Webdeveloper
    Registrar SIDN: nee
    KvK nummer: n.v.t
    Ondernemingsnummer: nvt

    Citaat Oorspronkelijk geplaatst door Alentejo Hosting Bekijk Berichten
    Met smtp zou je het als volgt kunnen doen:

    SMTPconfig.php
    Code:
    <?php
    //Server Address
    $SmtpServer="127.0.0.1";
    $SmtpPort="25"; //default
    $SmtpUser="username";
    $SmtpPass="password";
    ?>
    SMTPclass.php
    Code:
    <?php
    class SMTPClient
    {
    
    function SMTPClient ($SmtpServer, $SmtpPort, $SmtpUser, $SmtpPass, $from, $to, $subject, $body)
    {
    
    $this->SmtpServer = $SmtpServer;
    $this->SmtpUser = base64_encode ($SmtpUser);
    $this->SmtpPass = base64_encode ($SmtpPass);
    $this->from = $from;
    $this->to = $to;
    $this->subject = $subject;
    $this->body = $body;
    
    if ($SmtpPort == "") 
    {
    $this->PortSMTP = 25;
    }
    else
    {
    $this->PortSMTP = $SmtpPort;
    }
    }
    
    function SendMail ()
    {
    if ($SMTPIN = fsockopen ($this->SmtpServer, $this->PortSMTP)) 
    {
    fputs ($SMTPIN, "EHLO ".$HTTP_HOST."\r\n"); 
    $talk["hello"] = fgets ( $SMTPIN, 1024 ); 
    fputs($SMTPIN, "auth login\r\n");
    $talk["res"]=fgets($SMTPIN,1024);
    fputs($SMTPIN, $this->SmtpUser."\r\n");
    $talk["user"]=fgets($SMTPIN,1024);
    fputs($SMTPIN, $this->SmtpPass."\r\n");
    $talk["pass"]=fgets($SMTPIN,256);
    fputs ($SMTPIN, "MAIL FROM: <".$this->from.">\r\n"); 
    $talk["From"] = fgets ( $SMTPIN, 1024 ); 
    fputs ($SMTPIN, "RCPT TO: <".$this->to.">\r\n"); 
    $talk["To"] = fgets ($SMTPIN, 1024); 
    fputs($SMTPIN, "DATA\r\n");
    $talk["data"]=fgets( $SMTPIN,1024 );
    fputs($SMTPIN, "To: <".$this->to.">\r\nFrom: <".$this->from.">\r\nSubject:".$this->subject."\r\n\r\n\r\n".$this->body."\r\n.\r\n");
    $talk["send"]=fgets($SMTPIN,256);
    //CLOSE CONNECTION AND EXIT ... 
    fputs ($SMTPIN, "QUIT\r\n"); 
    fclose($SMTPIN); 
    //
    } 
    return $talk;
    } 
    }
    ?>
    index.php
    Code:
    <?php
    include('SMTPconfig.php');
    include('SMTPClass.php');
    if($_SERVER["REQUEST_METHOD"] == "POST")
    {
    $to = $_POST['to'];
    $from = $_POST['from'];
    $subject = $_POST['sub'];
    $body = $_POST['message'];
    $SMTPMail = new SMTPClient ($SmtpServer, $SmtpPort, $SmtpUser, $SmtpPass, $from, $to, $subject, $body);
    $SMTPChat = $SMTPMail->SendMail();
    }
    ?>
    <form method="post" action="">
    To:<input type="text" name="to" />
    From :<input type='text' name="from" />
    Subject :<input type='text' name="sub" />
    Message :<textarea name="message"></textarea>
    <input type="submit" value=" Send " />
    </form>
    Leuk dat je die class deelt, maar er wordt al verwezen naar phpmailer die dit aan boord heeft.

  13. #13
    contactform
    geregistreerd gebruiker
    6 Berichten
    Ingeschreven
    25/03/18

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Henk

    Thread Starter
    Mijn vorige bericht werd niet geplaatst.

    Ik neem aan dat ik de drie bestanden bij elkaar moet zetten
    en dan index.php moet aanroepen. Mijn hoster is webreus,
    moet ik dan als server smtp.webreus.nl invullen? En welke
    gebruikersnaam en wachtwoord?

    De vorige bestanden deden het om te zien wel, maar er werd
    niets gepost. Net zoals de vele andere bestanden die ik heb
    geprobeerd.

  14. #14
    contactform
    geregistreerd gebruiker
    717 Berichten
    Ingeschreven
    23/04/04

    Locatie
    Breda

    Post Thanks / Like
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)
    38 Berichten zijn liked


    Naam: Ronald van Hoeven
    Bedrijf: Happy Hosting
    Functie: mede-eigenaar
    URL: happyhosting.nl
    Registrar SIDN: ja
    KvK nummer: 20113673
    Ondernemingsnummer: nvt
    View Ronald van Hoeven's profile on LinkedIn

    Even afgezien van het technische: Denk je aan de " Algemene verordening gegevensbescherming" ? Je gaat immers privacy gevoelige informatie verzamelen.

  15. #15
    contactform
    geregistreerd gebruiker
    6 Berichten
    Ingeschreven
    25/03/18

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Henk

    Thread Starter
    Er is een disclaimer aanwezig.

Labels voor dit Bericht

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2021 Webhostingtalk.nl.
Web Statistics