Meerdere checkboxkeuzes doormailen
WebVisual - 08/08/2005 14:01
Lid
Ben aant proberen om foto's weer te geven op een pagina en dat deze dan bestelt kunnen worden via mail. Probleem is momenteel dat hij maar 1 keuze doorstuurd van de checkboxen die aangevinkt staan. Kan iemand me ff helpen.
<?php
$emailadres = "info@smokalot.be";
$sitenaam = "www.webvisual.be";
$keuze=$_POST['keuze'];
if(isset($_GET['actie']) == "verzenden")
{
if(empty($_POST['naam']) || empty($_POST['email']) || empty($_POST['voornaam']))
{
echo "Je moet wel alle velden invullen!!";
}
else
{
mail($emailadres, $onderwerp, "Afzender: $voornaam $naam \nEmail adres: $email \nIP: ".$_SERVER['REMOTE_ADDR']." \n\nKeuze: \n$keuze", "From: $naam || $sitenaam");
echo "Bericht succesvol verzonden!";
}
}
else
{
?>
<form method="post" name="verzenden" action="<?=$_SERVER['PHP_SELF']?>?actie=verzenden">
<table width="310" border="0" bgcolor="#CCCCCC">
<tr>
<td height="16" width="168"> Naam:</td>
<td height="16" width="132">
<input type="text" name="naam" size="22"></td>
</tr>
<tr>
<td height="16" width="168"> Voornaam:</td>
<td height="16" width="132">
<input type="text" name="voornaam" size="22"></td>
</tr>
<tr>
<td height="27" width="168"> Emailadres:</td>
<td height="27" width="132">
<input type="text" name="email" size="22"></td>
</tr>
<tr>
<td height="140" colspan="2" align="center">
<table width="130" border="0" cellspacing="4" cellpadding="4" align="center">
<tr><td>1</td><td><img src="images/1.jpg"></td><td><input type="checkbox" name="keuze" value="1"></td></tr>
<tr><td>2</td><td><img src="images/2.jpg"></td><td><input type="checkbox" name="keuze" value="2"></td></tr>
<tr><td>3</td><td><img src="images/3.jpg"></td><td><input type="checkbox" name="keuze" value="3"></td></tr>
<tr><td>4</td><td><img src="images/4.jpg"></td><td><input type="checkbox" name="keuze" value="4"></td></tr>
<tr><td>5</td><td><img src="images/5.jpg"></td><td><input type="checkbox" name="keuze" value="5"></td></tr>
<tr><td>6</td><td><img src="images/6.jpg"></td><td><input type="checkbox" name="keuze" value="6"></td></tr>
<tr><td>7</td><td><img src="images/7.jpg"></td><td><input type="checkbox" name="keuze" value="7"></td></tr>
<tr><td>8</td><td><img src="images/8.jpg"></td><td><input type="checkbox" name="keuze" value="8"></td></tr>
<tr><td>9</td><td><img src="images/9.jpg"></td><td><input type="checkbox" name="keuze" value="9"></td></tr>
<tr><td>10</td><td><img src="images/10.jpg"></td><td><input type="checkbox" name="keuze" value="10"></td></tr>
</table>
</td>
</tr>
<tr>
<td height="18" colspan="2" align="center">
<input type="submit" value="Verzenden!" name="verzenden"> <input type="reset" value="Wissen" name="wissen">
</td>
</tr>
</table>
</form>
<?php
}
?>
<?php
$emailadres = "info@smokalot.be" ;
$sitenaam = "www.webvisual.be" ;
$keuze = $_POST [ 'keuze' ] ;
if ( isset ( $_GET [ 'actie' ] ) == "verzenden" ) {
if ( empty ( $_POST [ 'naam' ] ) || empty ( $_POST [ 'email' ] ) || empty ( $_POST [ 'voornaam' ] ) ) {
echo "Je moet wel alle velden invullen!!" ; }
else
{
mail ( $emailadres , $onderwerp , "Afzender: $voornaam $naam \n Email adres: $email \n IP: " . $_SERVER [ 'REMOTE_ADDR' ] . " \n \n Keuze: \n $keuze " , "From: $naam || $sitenaam " ) ; echo "Bericht succesvol verzonden!" ; }
}
else
{
?>
<form method="post" name="verzenden" action="<?= $_SERVER [ 'PHP_SELF' ] ?> ?actie=verzenden">
<table width="310" border="0" bgcolor="#CCCCCC">
<tr>
<td height="16" width="168"> Naam:</td>
<td height="16" width="132">
<input type="text" name="naam" size="22"></td>
</tr>
<tr>
<td height="16" width="168"> Voornaam:</td>
<td height="16" width="132">
<input type="text" name="voornaam" size="22"></td>
</tr>
<tr>
<td height="27" width="168"> Emailadres:</td>
<td height="27" width="132">
<input type="text" name="email" size="22"></td>
</tr>
<tr>
<td height="140" colspan="2" align="center">
<table width="130" border="0" cellspacing="4" cellpadding="4" align="center">
<tr><td>1</td><td><img src="images/1.jpg"></td><td><input type="checkbox" name="keuze" value="1"></td></tr>
<tr><td>2</td><td><img src="images/2.jpg"></td><td><input type="checkbox" name="keuze" value="2"></td></tr>
<tr><td>3</td><td><img src="images/3.jpg"></td><td><input type="checkbox" name="keuze" value="3"></td></tr>
<tr><td>4</td><td><img src="images/4.jpg"></td><td><input type="checkbox" name="keuze" value="4"></td></tr>
<tr><td>5</td><td><img src="images/5.jpg"></td><td><input type="checkbox" name="keuze" value="5"></td></tr>
<tr><td>6</td><td><img src="images/6.jpg"></td><td><input type="checkbox" name="keuze" value="6"></td></tr>
<tr><td>7</td><td><img src="images/7.jpg"></td><td><input type="checkbox" name="keuze" value="7"></td></tr>
<tr><td>8</td><td><img src="images/8.jpg"></td><td><input type="checkbox" name="keuze" value="8"></td></tr>
<tr><td>9</td><td><img src="images/9.jpg"></td><td><input type="checkbox" name="keuze" value="9"></td></tr>
<tr><td>10</td><td><img src="images/10.jpg"></td><td><input type="checkbox" name="keuze" value="10"></td></tr>
</table>
</td>
</tr>
<tr>
<td height="18" colspan="2" align="center">
<input type="submit" value="Verzenden!" name="verzenden"> <input type="reset" value="Wissen" name="wissen">
</td>
</tr>
</table>
</form>
<?php
}
?>
11 antwoorden
Gesponsorde links
Gerard - 08/08/2005 14:05
Ouwe rakker
Op dit moment overschrijft hij volgens mij telkens de $_POST['keuze'] met de nieuwe waarde (hoogste?).
Probeer eens de naam van de checkboxes te vormen naar keuze[]
Dan kun je de $_POST['keuze'] bij de verwerking uitlezen daar dit dan een array is waarin je alle checkbox waardes hebt welke je wilt bestellen.
Hier zijn overigens meerdere topics over geweest, beetje zoeken had geen kwaad gekunt.
WebVisual - 08/08/2005 14:12
Lid
als ik dit zo gewoon doe
<tr><td>5</td><td><img src="images/5.jpg"></td><td><input type="checkbox" name="keuze[]" value="5"></td></tr>
dan krijg ik dit in men mail
Keuze:
Array
PS: heb gezocht via het zoekformulier maar vind het niet, kan jij mij misschien zeggen waar het staat
Geerios - 08/08/2005 14:29
Onbekend
Je moet alle checkboxen een aparte naam geven! Dus als je alles de zelfde naam geeft gaat het vekeerd (zoals jij dat hebt gedaan)! Zo zou je je code misschien kunnen gebruiken:
<?php
$emailadres = "info@smokalot.be";
$sitenaam = "www.webvisual.be";
$array = array($_POST['1'], $_POST['2'], $_POST['3'], $_POST['4'], $_POST['5'], $_POST['6'], $_POST['7'], $_POST['8'], $_POST['9'], $_POST['10']);
$keuze = implode (", ", $array);
if(isset($_GET['actie']) == "verzenden")
{
if(empty($_POST['naam']) || empty($_POST['email']) || empty($_POST['voornaam']))
{
echo "Je moet wel alle velden invullen!!";
}
else
{
mail($emailadres, $onderwerp, "Afzender: $voornaam $naam \nEmail adres: $email \nIP: ".$_SERVER['REMOTE_ADDR']." \n\nKeuze: \n$keuze", "From: $naam || $sitenaam");
echo "Bericht succesvol verzonden!";
}
}
else
{
?>
<form method="post" name="verzenden" action="<?=$_SERVER['PHP_SELF']?>?actie=verzenden">
<table width="310" border="0" bgcolor="#CCCCCC">
<tr>
<td height="16" width="168"> Naam:</td>
<td height="16" width="132">
<input type="text" name="naam" size="22"></td>
</tr>
<tr>
<td height="16" width="168"> Voornaam:</td>
<td height="16" width="132">
<input type="text" name="voornaam" size="22"></td>
</tr>
<tr>
<td height="27" width="168"> Emailadres:</td>
<td height="27" width="132">
<input type="text" name="email" size="22"></td>
</tr>
<tr>
<td height="140" colspan="2" align="center">
<table width="130" border="0" cellspacing="4" cellpadding="4" align="center">
<tr><td>1</td><td><img src="images/1.jpg"></td><td><input type="checkbox" name="1" value="1"></td></tr>
<tr><td>2</td><td><img src="images/2.jpg"></td><td><input type="checkbox" name="2" value="2"></td></tr>
<tr><td>3</td><td><img src="images/3.jpg"></td><td><input type="checkbox" name="3" value="3"></td></tr>
<tr><td>4</td><td><img src="images/4.jpg"></td><td><input type="checkbox" name="4" value="4"></td></tr>
<tr><td>5</td><td><img src="images/5.jpg"></td><td><input type="checkbox" name="5" value="5"></td></tr>
<tr><td>6</td><td><img src="images/6.jpg"></td><td><input type="checkbox" name="6" value="6"></td></tr>
<tr><td>7</td><td><img src="images/7.jpg"></td><td><input type="checkbox" name="7" value="7"></td></tr>
<tr><td>8</td><td><img src="images/8.jpg"></td><td><input type="checkbox" name="8" value="8"></td></tr>
<tr><td>9</td><td><img src="images/9.jpg"></td><td><input type="checkbox" name="9" value="9"></td></tr>
<tr><td>10</td><td><img src="images/10.jpg"></td><td><input type="checkbox" name="10" value="10"></td></tr>
</table>
</td>
</tr>
<tr>
<td height="18" colspan="2" align="center">
<input type="submit" value="Verzenden!" name="verzenden"> <input type="reset" value="Wissen" name="wissen">
</td>
</tr>
</table>
</form>
<?php
}
?>
<?php
$emailadres = "info@smokalot.be" ;
$sitenaam = "www.webvisual.be" ;
$array = array ( $_POST [ '1' ] , $_POST [ '2' ] , $_POST [ '3' ] , $_POST [ '4' ] , $_POST [ '5' ] , $_POST [ '6' ] , $_POST [ '7' ] , $_POST [ '8' ] , $_POST [ '9' ] , $_POST [ '10' ] ) ;
if ( isset ( $_GET [ 'actie' ] ) == "verzenden" ) {
if ( empty ( $_POST [ 'naam' ] ) || empty ( $_POST [ 'email' ] ) || empty ( $_POST [ 'voornaam' ] ) ) {
echo "Je moet wel alle velden invullen!!" ; }
else
{
mail ( $emailadres , $onderwerp , "Afzender: $voornaam $naam \n Email adres: $email \n IP: " . $_SERVER [ 'REMOTE_ADDR' ] . " \n \n Keuze: \n $keuze " , "From: $naam || $sitenaam " ) ; echo "Bericht succesvol verzonden!" ; }
}
else
{
?>
<form method="post" name="verzenden" action="<?= $_SERVER [ 'PHP_SELF' ] ?> ?actie=verzenden">
<table width="310" border="0" bgcolor="#CCCCCC">
<tr>
<td height="16" width="168"> Naam:</td>
<td height="16" width="132">
<input type="text" name="naam" size="22"></td>
</tr>
<tr>
<td height="16" width="168"> Voornaam:</td>
<td height="16" width="132">
<input type="text" name="voornaam" size="22"></td>
</tr>
<tr>
<td height="27" width="168"> Emailadres:</td>
<td height="27" width="132">
<input type="text" name="email" size="22"></td>
</tr>
<tr>
<td height="140" colspan="2" align="center">
<table width="130" border="0" cellspacing="4" cellpadding="4" align="center">
<tr><td>1</td><td><img src="images/1.jpg"></td><td><input type="checkbox" name="1" value="1"></td></tr>
<tr><td>2</td><td><img src="images/2.jpg"></td><td><input type="checkbox" name="2" value="2"></td></tr>
<tr><td>3</td><td><img src="images/3.jpg"></td><td><input type="checkbox" name="3" value="3"></td></tr>
<tr><td>4</td><td><img src="images/4.jpg"></td><td><input type="checkbox" name="4" value="4"></td></tr>
<tr><td>5</td><td><img src="images/5.jpg"></td><td><input type="checkbox" name="5" value="5"></td></tr>
<tr><td>6</td><td><img src="images/6.jpg"></td><td><input type="checkbox" name="6" value="6"></td></tr>
<tr><td>7</td><td><img src="images/7.jpg"></td><td><input type="checkbox" name="7" value="7"></td></tr>
<tr><td>8</td><td><img src="images/8.jpg"></td><td><input type="checkbox" name="8" value="8"></td></tr>
<tr><td>9</td><td><img src="images/9.jpg"></td><td><input type="checkbox" name="9" value="9"></td></tr>
<tr><td>10</td><td><img src="images/10.jpg"></td><td><input type="checkbox" name="10" value="10"></td></tr>
</table>
</td>
</tr>
<tr>
<td height="18" colspan="2" align="center">
<input type="submit" value="Verzenden!" name="verzenden"> <input type="reset" value="Wissen" name="wissen">
</td>
</tr>
</table>
</form>
<?php
}
?>
Gerard - 08/08/2005 15:58 (laatste wijziging 08/08/2005 17:44)
Ouwe rakker
dat is absoluut niet dynamisch.
mijn methode werkt wel het beste alleen je moet natuurlijk wel eerste de array helemaal uitlezen zodat je netjes alle gegevens kan verwerken.
als je niet weet hoe -> Tutorials
edit: WebVisual, dat mag dan wel werken maar denk je ook even aan eventuele dynamiek die je wil implementeren in de toekomst.
Binnenkort kom je aan dat je 15 checkboxes wilt, en voor een andere cat 4. Kunnen wij weer een oplossing gaan geven die er al is.
WebVisual - 08/08/2005 17:22
Lid
Dat van Geerios werkt.
tnx
Geerios - 08/08/2005 18:01
Onbekend
Citaat:
Binnenkort kom je aan dat je 15 checkboxes wilt, en voor een andere cat 4. Kunnen wij weer een oplossing gaan geven die er al is.
Als hij dat dan wil, dan geef ik hem dit script:
<?php
$emailadres = "info@smokalot.be";
$sitenaam = "www.webvisual.be";
$max="15"; ////Het aantal foto's
$array = array();
for($i=0; $i<$max; $i++) {
$array[]=$_POST[$i];
}
$keuze = implode (", ", $array);
if(isset($_GET['actie']) == "verzenden")
{
if(empty($_POST['naam']) || empty($_POST['email']) || empty($_POST['voornaam']))
{
echo "Je moet wel alle velden invullen!!";
}
else
{
mail($emailadres, $onderwerp, "Afzender: $voornaam $naam \nEmail adres: $email \nIP: ".$_SERVER['REMOTE_ADDR']." \n\nKeuze: \n$keuze", "From: $naam || $sitenaam");
echo "Bericht succesvol verzonden!";
}
}
else
{
?>
<form method="post" name="verzenden" action="<?=$_SERVER['PHP_SELF']?>?actie=verzenden">
<table width="310" border="0" bgcolor="#CCCCCC">
<tr>
<td height="16" width="168"> Naam:</td>
<td height="16" width="132">
<input type="text" name="naam" size="22"></td>
</tr>
<tr>
<td height="16" width="168"> Voornaam:</td>
<td height="16" width="132">
<input type="text" name="voornaam" size="22"></td>
</tr>
<tr>
<td height="27" width="168"> Emailadres:</td>
<td height="27" width="132">
<input type="text" name="email" size="22"></td>
</tr>
<tr>
<td height="140" colspan="2" align="center">
<table width="130" border="0" cellspacing="4" cellpadding="4" align="center">
<? for($i=0; $i<$max; $i++) {
echo "<tr><td>".$i."</td><td><img src=images/".$i.".jpg></td><td><input type=checkbox name=".$i." value=".$i."></td></tr>";
} ?>
</table>
</td>
</tr>
<tr>
<td height="18" colspan="2" align="center">
<input type="submit" value="Verzenden!" name="verzenden"> <input type="reset" value="Wissen" name="wissen">
</td>
</tr>
</table>
</form>
<?php
}
?>
<?php
$emailadres = "info@smokalot.be" ;
$sitenaam = "www.webvisual.be" ;
$max = "15" ; ////Het aantal foto's
for ( $i = 0 ; $i < $max ; $i ++ ) {
$array [ ] = $_POST [ $i ] ;
}
if ( isset ( $_GET [ 'actie' ] ) == "verzenden" ) {
if ( empty ( $_POST [ 'naam' ] ) || empty ( $_POST [ 'email' ] ) || empty ( $_POST [ 'voornaam' ] ) ) {
echo "Je moet wel alle velden invullen!!" ; }
else
{
mail ( $emailadres , $onderwerp , "Afzender: $voornaam $naam \n Email adres: $email \n IP: " . $_SERVER [ 'REMOTE_ADDR' ] . " \n \n Keuze: \n $keuze " , "From: $naam || $sitenaam " ) ; echo "Bericht succesvol verzonden!" ; }
}
else
{
?>
< form method= "post" name= "verzenden" action= "<?=$_SERVER ['PHP_SELF']?> ?actie=verzenden">
<table width="310" border="0" bgcolor="#CCCCCC">
<tr>
<td height="16" width="168"> Naam:</td>
<td height="16" width="132">
<input type="text" name="naam" size="22"></td>
</tr>
<tr>
<td height="16" width="168"> Voornaam:</td>
<td height="16" width="132">
<input type="text" name="voornaam" size="22"></td>
</tr>
<tr>
<td height="27" width="168"> Emailadres:</td>
<td height="27" width="132">
<input type="text" name="email" size="22"></td>
</tr>
<tr>
<td height="140" colspan="2" align="center">
<table width="130" border="0" cellspacing="4" cellpadding="4" align="center">
<? for ( $i = 0 ; $i < $max ; $i ++ ) {
echo "<tr><td>" . $i . "</td><td><img src=images/" . $i . ".jpg></td><td><input type=checkbox name=" . $i . " value=" . $i . "></td></tr>" ; } ?>
</table>
</td>
</tr>
<tr>
<td height="18" colspan="2" align="center">
<input type="submit" value="Verzenden!" name="verzenden"> <input type="reset" value="Wissen" name="wissen">
</td>
</tr>
</table>
</form>
<?php
}
?>
Je kan dit script natuurlijk ook gewoon nu meteen gerbuiken want dit is overzichtelijker en korter !
Gerard - 08/08/2005 18:14
Ouwe rakker
en dan nog moet je zelf aangeven hoeveel items het zijn.
Waarom niet COMPLEET dynamisch maken de foto's die je wilt bestellen direct in 1 array gooien?
Geerios - 08/08/2005 18:18
Onbekend
Als hij er vragen over heeft of wil dat ik hem helemaal gratis naar zijn zin maak wil ik dat doen hoor!
Gerard - 08/08/2005 18:23
Ouwe rakker
Dat is het punt toch niet, het gaat met PHP om het zo dynamisch en onderhoudsvrij maken van je website. Dat is gewoonweg niet handig met de methode die jij toereikt.
Je methode werkt wel maar heeft niet dat beetje extra wat normaal gedaan wordt met keuze[]
Gerard - 08/08/2005 20:21
Ouwe rakker
Citaat:
Ik was gewoon aan het zoeken naar een oplossing en ik heb die gevonden.
Tot over enkele weken als je wil dat mensen meer dan 10 foto's kunnen bestellen.
Gesponsorde links
Dit onderwerp is gesloten .