Auteur Topic: mailformilier aanpassing.....  (gelezen 1418 keer)

Offline richard5000

  • Bedankjes
  • -Gegeven: 10
  • -Ontvangen: 6
  • Berichten: 51
mailformilier aanpassing.....
« Gepost op: 04 maart 2012, 08:55:16 »
Heb eindelijk een script (PHP) werkend kunnen krijgen, alleen wil ik niet dat hij een error meldingstekst c.q. blok geeft, maar alleen de invulvelden een rode rand geeft die niet goed zijn ingevuld of leeg gelaten, als de bezoeker dan naar deze velden gaat, ze goed invult, totdat alle velden goed zijn en hij drukt op verzenden, dat dan pas het formulier wordt verstuurd.

Kan iemand mij helpen of script aanpassen, of aangeven waar ik moet aanpassen?

Alvast bedankt.

<?php
#**********************************************
# Contactformulier
#**********************************************
$errors = array();

if ( 
'POST' == $_SERVER['REQUEST_METHOD'&#93;  )
{
    
/**
     * Pas deze twee regels aan&#46;
     */
    
$emailTo 'info@probleemcoach&#46;nl';
    
$emailSubject 'Bericht van een bezoeker';
    
$confirmationPage '/test/bedankt&#46;html';

    
/** Validate first name */
    
$firstNamePattern '~^[a-z &#46;'-&#93;+$~Di';
    
if ( !isset( $_POST['firstName'&#93; ) or !preg_match( $firstNamePattern, $_POST['firstName'&#93; ) )
    
{
        
$errors['firstName'&#93; = 'De voornaam is niet geldig';
    
}

    
/** Validate last name */
    
$lastNamePattern '~^[a-z &#46;'-&#93;+$~Di';
    
if( !isset( $_POST['lastName'&#93; ) or !preg_match( $lastNamePattern, $_POST['lastName'&#93; ) )
    
{
        
$errors['lastName'&#93; = 'De achternaam is niet geldig';
    
}

    
/** Validate e-mail address */
    
$emailPattern '~^[A-Z0-9&#46;_%-&#93;+@[A-Z0-9&#46;-&#93;+&#46;[A-Z&#93;{2,4}$~Di';
    if ( !isset( 
$_POST['emailAddress'&#93; ) or !preg_match( $emailPattern, $_POST['emailAddress'&#93; ) )
    
{
        
$errors['emailAddress'&#93; = 'Het e-mailadres is niet geldig';
    
}

    
/** Validate comments */
    
if ( !isset( $_POST['message'&#93; ) or strlen( trim( $_POST['message'&#93; ) ) < 2 )
    
{
        
$errors['message'&#93; = 'Het bericht moet minimaal 2 tekens lang zijn';
    
}

    if ( 
count$errors ) == )
    {
        
$message 'Gegevens formulier&#46;' &#46; PHP_EOL &#46; PHP_EOL &#46;
                   
'Voornaam: ' &#46; $_POST['firstName'&#93; &#46; PHP_EOL &#46;
                   
'Achternaam: ' &#46; $_POST['lastName'&#93;&#46; PHP_EOL &#46;
                   
'Email: ' &#46; $_POST['emailAddress'&#93; &#46; PHP_EOL &#46;
                   
( isset( $_POST['phoneNumber'&#93; ) ? 'Telefoonnummer: ' &#46; $_POST['phoneNumber'&#93; &#46; PHP_EOL : '' ) &#46;
                   
'Bericht: ' &#46; $_POST['message'&#93;;

        /** Create e-mail headers */
        
$headers 'From: ' &#46; $_POST['emailAddress'&#93; &#46; "rn" &#46;
                   
'Reply-To: ' &#46; $_POST['emailAddress'&#93; &#46; "rn" &#46;
                   
'X-Mailer: PHP/' &#46; phpversion();
        
if ( mail$emailTo$emailSubject$message$headers ) )
        {
            
header'Location: '&#46; $confirmationPage );
            
exit;
        }
        else
        {
            
$errors['general'&#93; = 'Vanwege een storing kan het bericht niet worden verzonden&#46; Probeer het over enkele ogenblikken nog eens&#46;';
        
}
    }
}
?>

<!doctype html>

<html lang="nl">
  <head>
    <meta charset="UTF-8" />
    <title>Contact</title>
    <style>
    *
    {
        font-family: Cambia;
        font-size: 1em;
        margin: 0;
        padding: 0;
    }
    html
    {
        font-size: 62.5%;
    }
    body
    {
        font-size: 1.4em;
    }
    p.error,
    span.error
    {
        background: #EF7661; /* Achtergrondkleur van de foutmeldingen */
        border: 1px solid #999; /* Rand van de foutmeldingen */
        border-radius: .1em;
        color: #090; /* Tekstkleur van de foutmeldingen */
        padding: .1em;
    }
    p.error
    {
        margin: 1em 0;
    }
    span.error
    {
        display: inline-block;
        margin-left: 5px;
        vertical-align: top;
        width: 30%; /* Breedte van de foutmelding naast het formulierveld */
    }
    form fieldset
    {
        border: none;
        padding: 1em 0 0;
    }
    form ol
    {
        list-style: none;
        margin: 0;
        padding: 0;
    }
    form li
    {
        margin-top: 0em;
    }
    form li:first-child
    {
        margin-top: 0;
    }
    form label
    {
        display: block;
        font-weight: bold;
        margin-bottom: .1em;
    }
    form input[type="email"],
    form input[type="text"],
    form textarea
    {
        border: 0.7px solid #999999;
        border-radius: .10em;
        box-shadow: 1px 1px 1px #CCC inset;
        padding: .1em;
        width: 55%; /* Breedte van de formuliervelden */
    }
    form textarea
    {
        overflow: auto; /* Hide scrollbars in IE */
    }
    form input[type="submit"]
    {
        cursor: pointer;
        padding: .2em 2em;
    }
    </style>
  </head>

  <body>
    <?php if ( isset( $errors['general'&#93; ) ) : ?>
      <p class="error"><?php echo htmlspecialchars$errors['general'&#93; ) ?></p>
    <?php endif; ?>

    <form action="<?php echo basename__FILE__ ?>" method="post">
      <fieldset>
            <li>
            <label for="firstName">Voornaam:</label>
            <input type="text" id="firstName" name="firstName" value="<?php echo isset( $_POST['firstName'&#93; ) ? htmlspecialchars( $_POST['firstName'&#93; ) : '' ?>" />
            <?php echo isset( $errors['firstName'&#93; ) ? '<span class="error">' &#46; htmlspecialchars( $errors['firstName'&#93; ) &#46; '</span>' : '' ?>
          </li>
          <li>
            <label for="lastName">Achternaam:</label>
            <input type="text" id="lastName" name="lastName" value="<?php echo isset( $_POST['lastName'&#93; ) ? htmlspecialchars( $_POST['lastName'&#93; ) : '' ?>" />
            <?php echo isset( $errors['lastName'&#93; ) ? '<span class="error">' &#46; htmlspecialchars( $errors['lastName'&#93; ) &#46; '</span>' : '' ?>
          </li>
          <li>
            <label for="emailAddress">E-mailadres:</label>
            <input type="email" id="emailAddress" name="emailAddress" required="required" value="<?php echo isset( $_POST['emailAddress'&#93; ) ? htmlspecialchars( $_POST['emailAddress'&#93; ) : '' ?>" />
            <?php echo isset( $errors['emailAddress'&#93; ) ? '<span class="error">' &#46; htmlspecialchars( $errors['emailAddress'&#93; ) &#46; '</span>' : '' ?>
          </li>
          <li>
            <label for="phoneNumber">Telefoonnummer:</label>
            <input type="text" id="phoneNumber" name="phoneNumber" value="<?php echo isset( $_POST['phoneNumber'&#93; ) ? htmlspecialchars( $_POST['phoneNumber'&#93; ) : '' ?>" />
            <?php echo isset( $errors['phoneNumber'&#93; ) ? '<span class="error">' &#46; htmlspecialchars( $errors['phoneNumber'&#93; ) &#46; '</span>' : '' ?>
          </li>
          <li>
            <label for="message">Bericht:</label>
            <textarea cols="100" id="message" name="message" rows="10"><?php echo isset( $_POST['message'&#93; ) ? htmlspecialchars( $_POST['message'&#93; ) : '' ?></textarea>
            <?php echo isset( $errors['message'&#93; ) ? '<span class="error">' &#46; htmlspecialchars( $errors['message'&#93; ) &#46; '</span>' : '' ?>
          </li>
        </ol>
      </fieldset>
      <fieldset class="controls">
        <input type="submit" value="Bericht versturen" />
      </fieldset>
    </form>
  </body>
</html>

Offline cyrus1977

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 27
  • -Ontvangen: 54
  • Berichten: 1.529
    • http://www.bonaerial.nl
Re: mailformilier aanpassing.....
« Reactie #1 Gepost op: 04 maart 2012, 20:14:32 »
De vragen die je stelt zijn niet echt synology specifiek. En al helemaal niet te relateren aan de mailstation. Waarschijnlijk krijg je meer respons op een php gerelateerd forum.

Voor nu slotje omdat dit wat mij betreft teveel offtopic is.

(mocht je het niet eens zijn PM me dan even).
  • Mijn Synology: DS415
  • HDD's: 4
See http://www.bonaerial.nl
I am root. If you see me laughing, you better have a backup!
The beginning of knowledge is the discovery of something we do not understand.