Script voor bijlage meesturen lukt alsmaar niet
kfrooija - 26/04/2006 14:29 (laatste wijziging 26/04/2006 14:32)
Nieuw lid
hallo allemaal,
Ik ben bezig met een site waarvoor ik een PHP mailformulier heb samengesteld (na véél inspanning) en nu graag ook nog zou willen dat mensen een bijlga mee zouden kunnen sturen.
Het formulier werkt perfect, nu zou ik willen vragen wie mij ALSJEBLIEFT zou kunnen helpen, om aan mijn formulier een UPLOAD balke kan toevoegen, (en deze ook verifieert en mee verzend) naar mijn e-mail.
Ik zou er echt SUPER mee geholpen zijn!!!
Super bedankt alvast!!!!!!!!!
De code van het formulier tot nu toe
De link naar de code : http://plaatscode.be/983 /
38 antwoorden
Gesponsorde links
marten - 26/04/2006 14:30
Beheerder
haal je code ff weg en zet het ff in pastebin.be
marten - 26/04/2006 14:37
Beheerder
eerst het formulier maar eens aanpassen
<form method="post" action="<?= $_SERVER['../../../Bureaublad/PHP_SELF']; ?>">
<dl>
<dt><b>Uw naam:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd><input type="text" name="naam" size="15" value="<?= $pNaam; ?>"></dd>
<dt><b>E-mail:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd><input type="text" name="email" size="15" value="<?= $pEmail; ?>"></dd>
<dt><b>Website:</b></dt>
<dd><input type="text" name="website" size="15" value="<?= $pWebsite; ?>"></dd>
<dt><b>Onderwerp:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd><input type="text" name="onderwerp" size="15" value="<?= $pOnderwerp; ?>"></dd>
<dt><b>Bericht:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd><textarea name="bericht" cols="40" rows="10"><?= $pBericht; ?></textarea></dd>
<dt><b>Formulier opties:</b></dt>
<dd>
<input type="submit" value="Verstuur e-mail" name="verstuur"> <input type="reset" value="Wis velden"></dd>
</dl>
</form>
<form method="post" action="<?= $_SERVER [ '../../../Bureaublad/PHP_SELF' ] ; ?> ">
<dl>
<dt><b>Uw naam:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd><input type="text" name="naam" size="15" value="<?= $pNaam ; ?> "></dd>
<dt><b>E-mail:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd><input type="text" name="email" size="15" value="<?= $pEmail ; ?> "></dd>
<dt><b>Website:</b></dt>
<dd><input type="text" name="website" size="15" value="<?= $pWebsite ; ?> "></dd>
<dt><b>Onderwerp:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd><input type="text" name="onderwerp" size="15" value="<?= $pOnderwerp ; ?> "></dd>
<dt><b>Bericht:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd><textarea name="bericht" cols="40" rows="10"><?= $pBericht ; ?> </textarea></dd>
<dt><b>Formulier opties:</b></dt>
<dd>
<input type="submit" value="Verstuur e-mail" name="verstuur"> <input type="reset" value="Wis velden"></dd>
</dl>
</form>
heb je nou......
Dan ga je uitzoeken wat het veld is om een bestand toe te voegen.
kokx - 26/04/2006 14:41
Onbekend
Waar haal je dit vandaan:
<?= $_SERVER['../../../Bureaublad/PHP_SELF']; ?>
<?= $_SERVER [ '../../../Bureaublad/PHP_SELF' ] ; ?>
?
marten - 26/04/2006 14:43
Beheerder
ja is ook wel handig om te veranderen naar
<?php echo $_SERVER['PHP_SELF']; ?>
<?php echo $_SERVER [ 'PHP_SELF' ] ; ?>
kfrooija - 26/04/2006 14:43 (laatste wijziging 26/04/2006 14:44)
Nieuw lid
Even kijken de regel die bijgevoegd zou moeten worden: (onder tekstvak en boven de Submit button)
<dd><is_uploaded_file ="FILES" cols="40" rows="10"><?= $pFile; ?></upload></dd>
<dt><b>Formulier opties:</b></dt>
<dd>
<dd><is_uploaded_file ="FILES" cols="40" rows="10"><?= $pFile ; ?> </upload></dd>
<dt><b>Formulier opties:</b></dt>
<dd>
marten - 26/04/2006 14:45
Beheerder
ik zou het zo doen
<dd><input type="file" name ="upload" size="10"><?= $pFile; ?></upload></dd>
<dt><b>Formulier opties:</b></dt>
<dd>
<dd><input type="file" name ="upload" size="10"><?= $pFile ; ?> </upload></dd>
<dt><b>Formulier opties:</b></dt>
<dd>
kfrooija - 26/04/2006 14:47 (laatste wijziging 26/04/2006 14:52)
Nieuw lid
Jah oke kijk nu ben ik al dat ie visueel aanwezig is (ik heb hem in dreamweaver meteen ingevoerd en nu kan ik hem zien.. )
Maar zoals altijd met PHP zijn we nu nog niet klaar.. de volgende stap Meester Marten
if(!empty($_POST['verstuur']))
{ // Er is op de knop 'verstuur e-mail' gedrukt...
$pError = ''; // Een begin met de errors als die er zijn
$pI = 0; // Deze telt het aantal erros.
if(strlen($_POST['naam']) < 2)
{ $pError .= '- Naam<br>'; $pI++; }
if(strlen($_POST['email']) < 6 || !ereg('@',$_POST['email']) || !ereg('.',$_POST['email']))
{ $pError .= '- E-mail adres<br>'; $pI++; }
if(strlen($_POST['onderwerp']) < 3)
{ $pError .= '- Onderwerp<br>'; $pI++; }
if(strlen($_POST['bericht']) < 10)
{ $pError .= '- Bericht<br>'; $pI++; }
if(strlen($_POST['file']) < 1mb)
{ $pError .= '- file<br>'; $pI++; }
if ( ! empty ( $_POST [ 'verstuur' ] ) ) { // Er is op de knop 'verstuur e-mail' gedrukt...
$pError = '' ; // Een begin met de errors als die er zijn
$pI = 0 ; // Deze telt het aantal erros.
if ( strlen ( $_POST [ 'naam' ] ) < 2 ) { $pError .= '- Naam<br>' ; $pI ++; }
if ( strlen ( $_POST [ 'email' ] ) < 6 || ! ereg ( '@' , $_POST [ 'email' ] ) || ! ereg ( '.' , $_POST [ 'email' ] ) ) { $pError .= '- E-mail adres<br>' ; $pI ++; }
if ( strlen ( $_POST [ 'onderwerp' ] ) < 3 ) { $pError .= '- Onderwerp<br>' ; $pI ++; }
if ( strlen ( $_POST [ 'bericht' ] ) < 10 ) { $pError .= '- Bericht<br>' ; $pI ++; }
if ( strlen ( $_POST [ 'file' ] ) < 1mb
) { $pError .= '- file<br>' ; $pI ++; }
Hmm denk dat het nog niet helemaal klopt wel?!
kfrooija - 26/04/2006 14:56 (laatste wijziging 26/04/2006 14:58)
Nieuw lid
De mensen mogen .JPG .BMP .GIF en .PSD (ik denk dat dit de meeste doorsnee bestanden zijn of heb ik het fout
De maximale bestandsgrote bedraagt 2 MB per upload....
Even kijken dus:
if(strlen($_POST['file']) < 1mb)
{ $pError .= '- file<br>'; $pI++; }
Is niet van toepassing omdat ik niet wil weten of hij leeg is
// uiteindelijk toch mailen
$pHeader = "MIME-Version: 1.0\r\n";
$pHeader .= "Content-type: text/html; charset=iso-8859-1\r\n";
$pHeader .= "To: ".$cNaam." <".$cEmail.">\r\n";
$pHeader .= "From: ".$_POST['naam']." <".$_POST['email'].">\r\n";
$website = (!empty($_POST['website'])) ? '<br><br>Website: '.$_POST['website'] : '';
$pBericht = 'Het verstuurde bericht naar Arttractive:'
.$_POST['bericht'].$website;
mail($cEmail,$cOndPre.' '.$_POST['onderwerp'].' '.$cOndSuf,$pBericht,$pHeader);
// uiteindelijk toch mailen
$pHeader = "MIME-Version: 1.0\r \n " ;
$pHeader .= "Content-type: text/html; charset=iso-8859-1\r \n " ;
$pHeader .= "To: " . $cNaam . " <" . $cEmail . ">\r \n " ;
$pHeader .= "From: " . $_POST [ 'naam' ] . " <" . $_POST [ 'email' ] . ">\r \n " ;
$website = ( ! empty ( $_POST [ 'website' ] ) ) ?
'<br><br>Website: ' . $_POST [ 'website' ] : '' ; $pBericht = 'Het verstuurde bericht naar Arttractive:'
. $_POST [ 'bericht' ] . $website ;
mail ( $cEmail , $cOndPre . ' ' . $_POST [ 'onderwerp' ] . ' ' . $cOndSuf , $pBericht , $pHeader ) ;
kfrooija - 26/04/2006 15:01
Nieuw lid
Even kijken om de bestandsgrote en formaat te controleren doe ik dat hier?
// Kijken of er een waarde moet worden gegeven aan velden...
$pNaam = (isset($_POST['naam'])) ? $_POST['naam'] : '';
$pEmail = (isset($_POST['email'])) ? $_POST['email'] : '';
$pWebsite = (isset($_POST['website'])) ? $_POST['website'] : '';
$pOnderwerp = (isset($_POST['onderwerp'])) ? $_POST['onderwerp'] : '';
$pBericht = (isset($_POST['bericht'])) ? $_POST['bericht'] : '';
$pFile = (isset($_POST['File'])) ? $_POST['File'] : '';
// Kijken of er een waarde moet worden gegeven aan velden...
$pNaam = ( isset ( $_POST [ 'naam' ] ) ) ?
$_POST [ 'naam' ] : '' ; $pEmail = ( isset ( $_POST [ 'email' ] ) ) ?
$_POST [ 'email' ] : '' ; $pWebsite = ( isset ( $_POST [ 'website' ] ) ) ?
$_POST [ 'website' ] : '' ; $pOnderwerp = ( isset ( $_POST [ 'onderwerp' ] ) ) ?
$_POST [ 'onderwerp' ] : '' ; $pBericht = ( isset ( $_POST [ 'bericht' ] ) ) ?
$_POST [ 'bericht' ] : '' ; $pFile = ( isset ( $_POST [ 'File' ] ) ) ?
$_POST [ 'File' ] : '' ;
kfrooija - 26/04/2006 15:05 (laatste wijziging 26/04/2006 15:06)
Nieuw lid
Oké extensie controleren gebeurd hier:
$pError = ''; // Een begin met de errors als die er zijn
$pI = 0; // Deze telt het aantal erros.
if(strlen($_POST['naam']) < 2)
{ $pError .= '- Naam<br>'; $pI++; }
if(strlen($_POST['email']) < 6 || !ereg('@',$_POST['email']) || !ereg('.',$_POST['email']))
{ $pError .= '- E-mail adres<br>'; $pI++; }
if(strlen($_POST['onderwerp']) < 3)
{ $pError .= '- Onderwerp<br>'; $pI++; }
if(strlen($_POST['bericht']) < 10)
{ $pError .= '- Bericht<br>'; $pI++; }
if ($thumb['imgExtension'] == 'jpg' || $thumb['imgExtension'] == 'jpeg' || $thumb['imgExtension'] == 'jpe' || $thumb['imgExtension'] == 'jfif')
{
$thumb['imgExtension'] = 'jpg';
$func1 = 'imagecreatefromjpeg';
$func2 = 'imagejpeg';
}
else if ($thumb['imgExtension'] == 'gif')
{
$thumb['imgExtension'] = 'gif';
$func1 = 'imagecreatefromgif';
$func2 = 'imagegif';
}
else if ($thumb['imgExtension'] == 'png')
{
$thumb['imgExtension'] = 'png';
$func1 = 'imagecreatefrompng';
$func2 = 'imagepng';
$pError = '' ; // Een begin met de errors als die er zijn
$pI = 0 ; // Deze telt het aantal erros.
if ( strlen ( $_POST [ 'naam' ] ) < 2 ) { $pError .= '- Naam<br>' ; $pI ++; }
if ( strlen ( $_POST [ 'email' ] ) < 6 || ! ereg ( '@' , $_POST [ 'email' ] ) || ! ereg ( '.' , $_POST [ 'email' ] ) ) { $pError .= '- E-mail adres<br>' ; $pI ++; }
if ( strlen ( $_POST [ 'onderwerp' ] ) < 3 ) { $pError .= '- Onderwerp<br>' ; $pI ++; }
if ( strlen ( $_POST [ 'bericht' ] ) < 10 ) { $pError .= '- Bericht<br>' ; $pI ++; }
if ( $thumb [ 'imgExtension' ] == 'jpg' || $thumb [ 'imgExtension' ] == 'jpeg' || $thumb [ 'imgExtension' ] == 'jpe' || $thumb [ 'imgExtension' ] == 'jfif' )
{
$thumb [ 'imgExtension' ] = 'jpg' ;
$func1 = 'imagecreatefromjpeg' ;
$func2 = 'imagejpeg' ;
}
else if ( $thumb [ 'imgExtension' ] == 'gif' )
{
$thumb [ 'imgExtension' ] = 'gif' ;
$func1 = 'imagecreatefromgif' ;
$func2 = 'imagegif' ;
}
else if ( $thumb [ 'imgExtension' ] == 'png' )
{
$thumb [ 'imgExtension' ] = 'png' ;
$func1 = 'imagecreatefrompng' ;
$func2 = 'imagepng' ;
Maar nu controleer ik weer of er IETS is ingevuld, dat is nie van belang het gaat om WAT er is ingvuld (upload in dit geval):s
kfrooija - 26/04/2006 15:07 (laatste wijziging 26/04/2006 15:08)
Nieuw lid
$pError = ''; // Een begin met de errors als die er zijn
$pI = 0; // Deze telt het aantal erros.
if(strlen($_POST['naam']) < 2)
{ $pError .= '- Naam<br>'; $pI++; }
if(strlen($_POST['email']) < 6 || !ereg('@',$_POST['email']) || !ereg('.',$_POST['email']))
{ $pError .= '- E-mail adres<br>'; $pI++; }
if(strlen($_POST['onderwerp']) < 3)
{ $pError .= '- Onderwerp<br>'; $pI++; }
if(strlen($_POST['bericht']) < 10)
{ $pError .= '- Bericht<br>'; $pI++; }
if ($thumb['File'] == 'jpg' || $thumb['imgExtension'] == 'jpeg' || $thumb['imgExtension'] == 'jpe' || $thumb['imgExtension'] == 'jfif')
{
$thumb['imgExtension'] = 'jpg';
$func1 = 'imagecreatefromjpeg';
$func2 = 'imagejpeg';
}
else if ($thumb['imgExtension'] == 'gif')
{
$thumb['imgExtension'] = 'gif';
$func1 = 'imagecreatefromgif';
$func2 = 'imagegif';
}
else if ($thumb['imgExtension'] == 'png')
{
$thumb['imgExtension'] = 'png';
$func1 = 'imagecreatefrompng';
$func2 = 'imagepng';
$pError = '' ; // Een begin met de errors als die er zijn
$pI = 0 ; // Deze telt het aantal erros.
if ( strlen ( $_POST [ 'naam' ] ) < 2 ) { $pError .= '- Naam<br>' ; $pI ++; }
if ( strlen ( $_POST [ 'email' ] ) < 6 || ! ereg ( '@' , $_POST [ 'email' ] ) || ! ereg ( '.' , $_POST [ 'email' ] ) ) { $pError .= '- E-mail adres<br>' ; $pI ++; }
if ( strlen ( $_POST [ 'onderwerp' ] ) < 3 ) { $pError .= '- Onderwerp<br>' ; $pI ++; }
if ( strlen ( $_POST [ 'bericht' ] ) < 10 ) { $pError .= '- Bericht<br>' ; $pI ++; }
if ( $thumb [ 'File' ] == 'jpg' || $thumb [ 'imgExtension' ] == 'jpeg' || $thumb [ 'imgExtension' ] == 'jpe' || $thumb [ 'imgExtension' ] == 'jfif' )
{
$thumb [ 'imgExtension' ] = 'jpg' ;
$func1 = 'imagecreatefromjpeg' ;
$func2 = 'imagejpeg' ;
}
else if ( $thumb [ 'imgExtension' ] == 'gif' )
{
$thumb [ 'imgExtension' ] = 'gif' ;
$func1 = 'imagecreatefromgif' ;
$func2 = 'imagegif' ;
}
else if ( $thumb [ 'imgExtension' ] == 'png' )
{
$thumb [ 'imgExtension' ] = 'png' ;
$func1 = 'imagecreatefrompng' ;
$func2 = 'imagepng' ;
Stel dat dit goed is mis ik nogsteeds maximale bestandsgrote?
b4nkr0bz0r - 26/04/2006 15:10
PHP gevorderde
om een extensie te controleren werdt dit wel goed.
<?php
// We selecteren het laatste deel van de array...
$sExtensie = strtolower(end(explode('.', $_FILES['upload']['name'])));
// Nu gaan we kijken of het geselecteerde extensie wel mag (voeg hier zelf je overige extensies in)...
if (in_array(array('image/gif', 'image/png', 'image/jpeg', 'image/pjepg'), array_change_key_case($sExtenstie, CASE_LOWER))
{
echo 'De extensie is goed.';
}
else
{
echo 'De extensie is niet goed.';
}
?>
<?php
// We selecteren het laatste deel van de array...
// Nu gaan we kijken of het geselecteerde extensie wel mag (voeg hier zelf je overige extensies in)...
{
echo 'De extensie is goed.' ; }
else
{
echo 'De extensie is niet goed.' ; }
?>
Deze code komt uit me image class.
b4nkr0bz0r - 26/04/2006 15:25 (laatste wijziging 26/04/2006 15:32)
PHP gevorderde
<?
ob_start(); // Voor het cookie setten, anders zal dat hoogst waarschijnlijk niet werken.
$cNaam = 'Arttractive contactformulier'; // Je naam...
$cEmail = 'info@arttractive.nl'; // email waar het heen moet
$cOndPre = 'Contactformulier Arttractive-'; // prefix voor onderwerp
$cOndSuf = '-'; // suffix achter onderwerp
$cSpam = 10; // Anti Spam, X aantal minuten
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>
<head> </font></p>
<p>
<title>Mail Formulier</title>
<style type="text/css">
body, input, textarea
{
font-size: 10pt;
color: #BD9B7F;
font-family: Verdana, Arial, Helvatica;
}
input, textarea
{
border: 1px solid black;
background-color: #FEFEFE;
}
</style></head>
<body>
<?
if(isset($_POST['verstuur']))
{ // Er is op de knop 'verstuur e-mail' gedrukt...
$pError = ''; // Een begin met de errors als die er zijn
$pI = 0; // Deze telt het aantal erros.
if(strlen($_POST['naam']) < 2)
{ $pError .= '- Naam<br>'; $pI++; }
if(strlen($_POST['email']) < 6 || !ereg('@',$_POST['email']) || !ereg('.',$_POST['email']))
{ $pError .= '- E-mail adres<br>'; $pI++; }
if(strlen($_POST['onderwerp']) < 3)
{ $pError .= '- Onderwerp<br>'; $pI++; }
if(strlen($_POST['bericht']) < 10)
{ $pError .= '- Bericht<br>'; $pI++; }
$sFile = strtolower(end(explode('.', $_FILES['upload']['name'])));
if (in_array(array('image/gif', 'image/png', 'image/jpeg', 'image/pjepg'), array_change_key_case($sfile, CASE_LOWER)))
{
echo 'De extensie is goed.';
}
else
{
echo 'De extensie is niet goed.';
}
if(!empty($pError))
{ // Als er dan toch errors zijn..
echo ($pI == 1) ? 'Het volgende veld is incorrect ingevuld:<br>' : 'De volgende velden zijn incorrect ingevuld:<br>'; // even kijken of het meervoud of enkelvoud is.
echo $pError; // echoën van de error(s)
}
else
{
// uiteindelijk toch mailen
$pHeader = "MIME-Version: 1.0\r\n";
$pHeader .= "Content-type: text/html; charset=iso-8859-1\r\n";
$pHeader .= "To: ".$cNaam." <".$cEmail.">\r\n";
$pHeader .= "From: ".$_POST['naam']." <".$_POST['email'].">\r\n";
$website = (!empty($_POST['website'])) ? '<br><br>Website: '.$_POST['website'] : '';
$pBericht = 'Het verstuurde bericht naar Arttractive:'
.$_POST['bericht'].$website;
mail($cEmail,$cOndPre.' '.$_POST['onderwerp'].' '.$cOndSuf,$pBericht,$pHeader);
if(isset($_POST['usermail']))
{ // Als de persoon het vakje 'Ook naar mezelf mailen' heeft aangevinkt...
$pBerichtUser = 'Het verstuurde bericht:'.$_POST['bericht'];
mail($_POST['email'],$cOndPre.' '.$_POST['onderwerp'].' '.$cOndSuf,$pBerichtUser,$pHeader);
}
echo 'Bedankt voor uw interesse in Arttractive, wij streven ernaar binnen een werkdag inhoudelijk te reageren.';
setcookie('mailform',1,time()+($cSpam*60)); // cookie zetten tegen spam
$pShow = true; // formulier wordt niet weer getoond
}
}
// Kijken of er een waarde moet worden gegeven aan velden...
$pNaam = (isset($_POST['naam'])) ? $_POST['naam'] : '';
$pEmail = (isset($_POST['email'])) ? $_POST['email'] : '';
$pWebsite = (isset($_POST['website'])) ? $_POST['website'] : '';
$pOnderwerp = (isset($_POST['onderwerp'])) ? $_POST['onderwerp'] : '';
$pBericht = (isset($_POST['bericht'])) ? $_POST['bericht'] : '';
// kijken of het cookie bestaat, zoja dan wordt het formulier niet getoond.
if(isset($_COOKIE['mailform']))
{ $pShow = true; echo 'Je kunt maar eens in de '.$cSpam.' minuten een e-mail versturen!'; }
if(!isset($pShow))
{ // het formulier als $pShow niet bestaat.
?>
<form method="post" action="<?= $_SERVER['PHP_SELF']; ?>">
<dl>
<dt><b>Uw naam:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd>
<input type="text" name="naam" size="15" value="<?= $pNaam; ?>">
</dd>
<dt><b>E-mail:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd>
<input type="text" name="email" size="15" value="<?= $pEmail; ?>">
</dd>
<dt><b>Website:</b></dt>
<dd>
<input type="text" name="website" size="15" value="<?= $pWebsite; ?>">
</dd>
<dt><b>Onderwerp:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd>
<input type="text" name="onderwerp" size="15" value="<?= $pOnderwerp; ?>">
</dd>
<dt><b>Bericht:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd>
<textarea name="bericht" cols="40" rows="10"><?= $pBericht; ?></textarea>
</dd>
<dt> </dt>
<dd>
<input type="file" name ="upload" size="40">
<?= $pFile; ?></upload>
</dd>
<dt><b>Formulier opties:</b></dt>
<dd>
<dt><b>Formulier opties:</b></dt>
<dd>
<input type="submit" value="Verstuur e-mail" name="verstuur">
<input type="reset" value="Wis velden">
</dd>
</dl>
</form>
<?php
}
?>
<?
ob_start ( ) ; // Voor het cookie setten, anders zal dat hoogst waarschijnlijk niet werken. $cNaam = 'Arttractive contactformulier' ; // Je naam...
$cEmail = 'info@arttractive.nl' ; // email waar het heen moet
$cOndPre = 'Contactformulier Arttractive-' ; // prefix voor onderwerp
$cOndSuf = '-' ; // suffix achter onderwerp
$cSpam = 10 ; // Anti Spam, X aantal minuten
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>
<head> </font></p>
<p>
<title>Mail Formulier</title>
<style type="text/css">
body, input, textarea
{
font-size: 10pt;
color: #BD9B7F;
font-family: Verdana, Arial, Helvatica;
}
input, textarea
{
border: 1px solid black;
background-color: #FEFEFE;
}
</style></head>
<body>
<?
if ( isset ( $_POST [ 'verstuur' ] ) ) { // Er is op de knop 'verstuur e-mail' gedrukt...
$pError = '' ; // Een begin met de errors als die er zijn
$pI = 0 ; // Deze telt het aantal erros.
if ( strlen ( $_POST [ 'naam' ] ) < 2 ) { $pError .= '- Naam<br>' ; $pI ++; }
if ( strlen ( $_POST [ 'email' ] ) < 6 || ! ereg ( '@' , $_POST [ 'email' ] ) || ! ereg ( '.' , $_POST [ 'email' ] ) ) { $pError .= '- E-mail adres<br>' ; $pI ++; }
if ( strlen ( $_POST [ 'onderwerp' ] ) < 3 ) { $pError .= '- Onderwerp<br>' ; $pI ++; }
if ( strlen ( $_POST [ 'bericht' ] ) < 10 ) { $pError .= '- Bericht<br>' ; $pI ++; }
{
echo 'De extensie is goed.' ; }
else
{
echo 'De extensie is niet goed.' ; }
{ // Als er dan toch errors zijn..
echo ( $pI == 1 ) ?
'Het volgende veld is incorrect ingevuld:<br>' : 'De volgende velden zijn incorrect ingevuld:<br>' ; // even kijken of het meervoud of enkelvoud is. echo $pError ; // echoën van de error(s) }
else
{
// uiteindelijk toch mailen
$pHeader = "MIME-Version: 1.0\r \n " ;
$pHeader .= "Content-type: text/html; charset=iso-8859-1\r \n " ;
$pHeader .= "To: " . $cNaam . " <" . $cEmail . ">\r \n " ;
$pHeader .= "From: " . $_POST [ 'naam' ] . " <" . $_POST [ 'email' ] . ">\r \n " ;
$website = ( ! empty ( $_POST [ 'website' ] ) ) ?
'<br><br>Website: ' . $_POST [ 'website' ] : '' ; $pBericht = 'Het verstuurde bericht naar Arttractive:'
. $_POST [ 'bericht' ] . $website ;
mail ( $cEmail , $cOndPre . ' ' . $_POST [ 'onderwerp' ] . ' ' . $cOndSuf , $pBericht , $pHeader ) ;
if ( isset ( $_POST [ 'usermail' ] ) ) { // Als de persoon het vakje 'Ook naar mezelf mailen' heeft aangevinkt...
$pBerichtUser = 'Het verstuurde bericht:' . $_POST [ 'bericht' ] ;
mail ( $_POST [ 'email' ] , $cOndPre . ' ' . $_POST [ 'onderwerp' ] . ' ' . $cOndSuf , $pBerichtUser , $pHeader ) ; }
echo 'Bedankt voor uw interesse in Arttractive, wij streven ernaar binnen een werkdag inhoudelijk te reageren.' ; setcookie ( 'mailform' , 1 , time ( ) + ( $cSpam * 60 ) ) ; // cookie zetten tegen spam
$pShow = true ; // formulier wordt niet weer getoond
}
}
// Kijken of er een waarde moet worden gegeven aan velden...
$pNaam = ( isset ( $_POST [ 'naam' ] ) ) ?
$_POST [ 'naam' ] : '' ; $pEmail = ( isset ( $_POST [ 'email' ] ) ) ?
$_POST [ 'email' ] : '' ; $pWebsite = ( isset ( $_POST [ 'website' ] ) ) ?
$_POST [ 'website' ] : '' ; $pOnderwerp = ( isset ( $_POST [ 'onderwerp' ] ) ) ?
$_POST [ 'onderwerp' ] : '' ; $pBericht = ( isset ( $_POST [ 'bericht' ] ) ) ?
$_POST [ 'bericht' ] : '' ;
// kijken of het cookie bestaat, zoja dan wordt het formulier niet getoond.
if ( isset ( $_COOKIE [ 'mailform' ] ) ) { $pShow = true ; echo 'Je kunt maar eens in de ' . $cSpam . ' minuten een e-mail versturen!' ; }
{ // het formulier als $pShow niet bestaat.
?>
<form method="post" action="<?= $_SERVER [ 'PHP_SELF' ] ; ?> ">
<dl>
<dt><b>Uw naam:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd>
<input type="text" name="naam" size="15" value="<?= $pNaam ; ?> ">
</dd>
<dt><b>E-mail:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd>
<input type="text" name="email" size="15" value="<?= $pEmail ; ?> ">
</dd>
<dt><b>Website:</b></dt>
<dd>
<input type="text" name="website" size="15" value="<?= $pWebsite ; ?> ">
</dd>
<dt><b>Onderwerp:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd>
<input type="text" name="onderwerp" size="15" value="<?= $pOnderwerp ; ?> ">
</dd>
<dt><b>Bericht:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd>
<textarea name="bericht" cols="40" rows="10"><?= $pBericht ; ?> </textarea>
</dd>
<dt> </dt>
<dd>
<input type="file" name ="upload" size="40">
<?= $pFile ; ?> </upload>
</dd>
<dt><b>Formulier opties:</b></dt>
<dd>
<dt><b>Formulier opties:</b></dt>
<dd>
<input type="submit" value="Verstuur e-mail" name="verstuur">
<input type="reset" value="Wis velden">
</dd>
</dl>
</form>
<?php
}
?>
mischien even wat tutorials leren over het verwerken van formulieren, variables... ?
EDIT: moet het nu wel doen denk ik...
b4nkr0bz0r - 26/04/2006 15:33
PHP gevorderde
Heb hem aangepast en hier een online voorbeeld.
Als jij zegt wat het formaat moet zijn kan ik er wel voor zorgen dat hij daar op controleert...
Simon - 26/04/2006 15:33
PHP expert
if (in_array(array('image/gif', 'image/png', 'image/jpeg', 'image/pjepg'), array_change_key_case($sfile, CASE_LOWER)))
{
echo '';
}
else
{
echo 'De extensie is niet goed.';
exit();
}
{
}
else
{
echo 'De extensie is niet goed.' ; }
zo?
Simon - 26/04/2006 15:37 (laatste wijziging 26/04/2006 15:39)
PHP expert
if($_FILES['upload']['size'] > 2048) // Grootte van het bestand groter dan 2048 kb
{
echo '';
}
else
{
echo 'De bijlage is te groot.';
exit();
}
if ( $_FILES [ 'upload' ] [ 'size' ] > 2048 ) // Grootte van het bestand groter dan 2048 kb
{
}
else
{
echo 'De bijlage is te groot.' ; }
Simon - 26/04/2006 15:45
PHP expert
het is toch de bedoeling dat hij niet mailt wanneer er iets fout loopt?
daarom die exit();
de fout zit em in de variabele
$sfile -> $sFile
op regel 41
Gesponsorde links
Dit onderwerp is gesloten .