Bestel form zit vast.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Elmar

Elmar

30/07/2009 09:56:00
Quote Anchor link
Hoi iedereen!

Ik ben een bestel form aan het maken, wat ik nu heb is een array met alle dingen die ze kunnen bestellen. Dat werkt. Heb ik uit een andere post over een dranken bestel form.

Maar nu wil ik ook dat ze het aantal kunnen aangeven. Dus Hotel Letterhead 100x.
En hoe krijg ik die array steeds op een nieuwe regel weergeven?

hier staat die online. http://www.tentyproductions.nl/novotel/test.php

hier de php.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
$dranken
=array("Hotel Letterhead N1A59","Hotel continuation N2A62","Hotel correspondence card N4A67","Hotel correspondence with detachable business card N5A69", "Enveloppe without window 325 x 229 mm N6A71");
$aantal_dranken=count($dranken);


if(!empty($_POST)){
$aan="[email protected]";
$header="CC: [email protected]";
$onderwerp="bestelling drank";
$bericht="De volgende bestelling is geplaatst:\n\n";
for($i=0; $i<$aantal_dranken; $i++){
if(isset($_POST["drank_$i"])){
$bericht.="Drank ".$dranken[$i]."\n";
}
}

mail($aan,$onderwerp,$bericht,$headers);


}
else{
echo('<form action="'.$_SERVER['PHP_SELF'].'" method=post>');

for($i=0; $i<$aantal_dranken; $i++){
echo('<input type="checkbox" name="drank_'.$i.'" value=".$dranken[$i].">');
echo(' '.$dranken[$i]);



}

echo('<textarea name="opmerkingen">Hier opmerkingen</textarea>');
echo('<input type="submit">');
}

?>
 
PHP hulp

PHP hulp

23/11/2024 19:51:48
 
Tamara

Tamara

30/07/2009 10:07:00
Quote Anchor link
op regel 25, dus na: echo(' '.$dranken[$i]);

dit erbij zetten:
echo '<br style="clear: both;">';

de haakjes kan je trouwens bij de echo gewoon weghalen.
 
Elmar

Elmar

30/07/2009 10:11:00
Quote Anchor link
Okay thanks! dat werkt :D

En hoe kan ik zorgen dat ze het aantal er achter in kunne vullen?
alvast bedankt
 
Jesper Diovo

Jesper Diovo

30/07/2009 10:13:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
$aProducten
= array('Je','Producten','Hier');
$aBesteld = array();

if($_SERVER['REQUEST_METHOD'] == "POST") {
  for($i=0;$i<=count($aProducten);$i++) {
    if(isset($_POST['aantal_'.$i]) && is_numeric($_POST['aantal_'.$i])) {
      $aBesteld[] = array($i, $_POST['aantal_'.$i]);
    }
  }


  $aan = "[email protected]";
  $header = "CC: [email protected]";
  $onderwerp = "Bestelling Drank";

  $bericht = "De volgende bestelling is geplaatst:\n\n";

  foreach($aBesteld as $aProduct) {
    list($iProduct, $iAantal) = $aProduct;
    $bericht .= "* ".$aProducten[$iProduct]." [".$iAantal."x]\n";
  }


  // door wie is het besteld? voor wanneer?
}

echo '<form method="post" action="'.$_SERVER['REQUEST_URI'].'">';
echo '<table border="0">';
foreach($aProducten as $iKey => $sValue) {
  echo '<tr><td><input type="text" name="aantal_'.$iKey.'" value="0" /></td><td>'.$sValue.'</td></tr>';
}

echo '<tr><td colspan="2"><textarea name="opmerkingen" cols="50" rows="10">Heeft u nog enige opmerkingen?</textarea></td></tr>';
echo '<tr><td colspan="2"><input type="submit" value="Bestel" /> <input type="reset" value="Opnieuw" /></td></tr>';
echo '</table></form>';
?>


Kijk even goed naar hoe ik het heb gedaan. Je mist trouwens nog behoorlijk essentiële informatie: door wie is het besteld en voor wanneer?
 
Elmar

Elmar

30/07/2009 10:16:00
Quote Anchor link
Thanks!

Wow ja dat klopt! :O
Hoe ga ik dat aanpakken :$
Ik ben echt nog een php noobie sorrrry.

thanks
 
Elmar

Elmar

30/07/2009 11:24:00
Quote Anchor link
Okay, Ik heb denk ik nu de aanlever datum erbij gezet dat ze kunnen invulle wanneer ze het willen.

Kunnen jullie kijken of het goed is gedaan :$
Ohja en als ik nu op zenden doe krijg ik geen mail binnen :(
hoe komt dat?

http://www.tentyproductions.nl/novotel/test.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
$aProducten
= array('Hotel Letterhead N1A59','Hotel continuation N2A62','Hotel correspondence card N4A67', 'Hotel correspondence with detachable business card N5A69', 'Enveloppe without window 325 x 229 mm N6A71', 'Enveloppe with window 220 x 110 mm N7A71', 'Enveloppe with window 229 x 162 mm N8A71', 'Invoice N9A75', 'Magnetic (key) card holder N10A84', 'Currency exchange receipt N11A86', 'Message note N12A86', 'Safe deposit record card N13A87', 'Luggage label N14A88', 'Room directory N15A92', 'Stationary folder N16A93', 'Customer/client letterhead N17A94', 'Telephone Notepad N18A95', 'Mini-bar price list N19A96', 'Do not disturb sign N20A97', 'Breakfast order N21A98', 'Environment card/bathroom counter card N22A99', 'Guest comment N23A100', 'Laundry form/order in 3-voud N24A101', 'Telephone rate card N26A104 ', 'Fire safetey information N27A105', 'Banquet menu N31A110', '"reserved" tentcard N32A111', 'Restaurant invoice sets in 2-voud N34A113', 'Presentation tentcard N35A121', 'Blocknote/Notepad N36A122');
$aBesteld = array();

$wanner = $_POST["wanneer"];

if($_SERVER['REQUEST_METHOD'] == "POST") {
  for($i=0;$i<=count($aProducten);$i++) {
    if(isset($_POST['aantal_'.$i]) && is_numeric($_POST['aantal_'.$i])) {
      $aBesteld[] = array($i, $_POST['aantal_'.$i]);
    }
  }


  $aan = "[email protected]";
  $header = "CC: [email protected]";
  $onderwerp = "Bestelling Novotel Amsterdam Airport";
 

  $bericht = "Beste Stephan, < br/> Hier onder zie je onze bestelling. Kan dit worden geleverd voor ".$wanneer."?:\n\n";

  foreach($aBesteld as $aProduct) {
    list($iProduct, $iAantal) = $aProduct;
    $bericht .= "* ".$aProducten[$iProduct]." [".$iAantal."x]\n";
  }


  // door wie is het besteld? voor wanneer?
}

echo '<form method="post" action="'.$_SERVER['REQUEST_URI'].'">';
echo '<table border="0">';
foreach($aProducten as $iKey => $sValue) {
  echo '<tr><td><input size="20" type="text" name="aantal_'.$iKey.'" value="0" id="aantal" /></td><td>'.$sValue.'</td></tr>';
}

echo '</table><table>';

echo '<td><input type="text" name="wanneer" id="wanneer" /><td>aanleverdatum';
echo '<tr><td colspan="2"><textarea name="opmerkingen" cols="50" rows="10">Heeft u nog enige opmerkingen?</textarea></td></tr>';
echo '<tr><td colspan="2"><input type="submit" value="Bestel" /> <input type="reset" value="Opnieuw" /></td></tr>';
echo '</table></form>';


?>


Gelieve Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door Elmar
 
- SanThe -

- SanThe -

30/07/2009 11:28:00
Quote Anchor link
Ik zie nergens dat je mail verstuurd.
 
Elmar

Elmar

30/07/2009 11:33:00
Quote Anchor link
Heb hem er bij gezet :D
maar kreeg nu ineens 58keer de zelfde mail binnen :O

wijow! hoe kan dat?

Nog een vraag.

Want nu krijg ik een hele lijst in me mail met alles erin.
Maar ik wil nu alleen in de mail krijgen wat die gene invult..

Kan dat? En mijn wanneer werkt niet :(

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
$aProducten
= array('Hotel Letterhead N1A59','Hotel continuation N2A62','Hotel correspondence card N4A67', 'Hotel correspondence with detachable business card N5A69', 'Enveloppe without window 325 x 229 mm N6A71', 'Enveloppe with window 220 x 110 mm N7A71', 'Enveloppe with window 229 x 162 mm N8A71', 'Invoice N9A75', 'Magnetic (key) card holder N10A84', 'Currency exchange receipt N11A86', 'Message note N12A86', 'Safe deposit record card N13A87', 'Luggage label N14A88', 'Room directory N15A92', 'Stationary folder N16A93', 'Customer/client letterhead N17A94', 'Telephone Notepad N18A95', 'Mini-bar price list N19A96', 'Do not disturb sign N20A97', 'Breakfast order N21A98', 'Environment card/bathroom counter card N22A99', 'Guest comment N23A100', 'Laundry form/order in 3-voud N24A101', 'Telephone rate card N26A104 ', 'Fire safetey information N27A105', 'Banquet menu N31A110', '"reserved" tentcard N32A111', 'Restaurant invoice sets in 2-voud N34A113', 'Presentation tentcard N35A121', 'Blocknote/Notepad N36A122');
$aBesteld = array();

$wanner = $_POST["wanneer"];

if($_SERVER['REQUEST_METHOD'] == "POST") {
  for($i=0;$i<=count($aProducten);$i++) {
    if(isset($_POST['aantal_'.$i]) && is_numeric($_POST['aantal_'.$i])) {
      $aBesteld[] = array($i, $_POST['aantal_'.$i]);
    }
  }


  $aan = "[email protected]";
  $header = "CC: [email protected]";
  $onderwerp = "Bestelling Novotel Amsterdam Airport";
 

  $bericht = "Beste Stephan, < br/> Hier onder zie je onze bestelling. Kan dit worden geleverd voor ".$wanneer."?:\n\n";

  foreach($aBesteld as $aProduct) {
    list($iProduct, $iAantal) = $aProduct;
    $bericht .= "* ".$aProducten[$iProduct]." [".$iAantal."x]\n";
    
    mail($aan, $onderwerp, $bericht);
    
  }


  // door wie is het besteld? voor wanneer?
}

echo '<form method="post" action="'.$_SERVER['REQUEST_URI'].'">';
echo '<table border="0">';
foreach($aProducten as $iKey => $sValue) {
  echo '<tr><td><input size="20" type="text" name="aantal_'.$iKey.'" value="0" id="aantal" /></td><td>'.$sValue.'</td></tr>';
}

echo '</table><table>';

echo '<td><input type="text" name="wanneer" id="wanneer" /><td>aanleverdatum';
echo '<tr><td colspan="2"><textarea name="opmerkingen" cols="50" rows="10">Heeft u nog enige opmerkingen?</textarea></td></tr>';
echo '<tr><td colspan="2"><input type="submit" value="Bestel" /> <input type="reset" value="Opnieuw" /></td></tr>';
echo '</table></form>';


?>
Gewijzigd op 01/01/1970 01:00:00 door Elmar
 
- SanThe -

- SanThe -

30/07/2009 11:40:00
Quote Anchor link
Dan zal je het in een loop hebben staan.
 
Elmar

Elmar

30/07/2009 11:47:00
Quote Anchor link
Okay werkt nu wel ;)

Maar hoe kan ik zorgen dat een lege input niet in de mail komt en de gene waar ze een aantal hebben neergezet wel. Kan dat?

alvast bedankt
 
- SanThe -

- SanThe -

30/07/2009 11:50:00
Quote Anchor link
Zie isset() en empty().
 
Elmar

Elmar

30/07/2009 13:46:00
Quote Anchor link
Thanks
Gewijzigd op 01/01/1970 01:00:00 door Elmar
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.