login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[Php] Foreach

Offline Simax - 13/09/2007 15:19 (laatste wijziging 13/09/2007 15:21)
Avatar van SimaxOnbekend Ik heb een formulier waarin ik gebruik maak van foreach(),
omdat ik te veel input-velden heb.

Nu worden alle gegevens naar mijn email verstuurd.
  1. foreach($_POST as $key => $value)
  2. {
  3. $bericht = "Beste ".$ontvanger_naam.",
  4. Er is een aanvraag voor een offerte ingediend.
  5.  
  6. ---Persoonlijke gegevens---
  7. ".$voorletters."
  8. ---Persoonlijke gegevens---
  9. }
  10.  
  11. mail($ontvanger_email, $onderwerp, $bericht, $headers);


Alleen nu ontvange ik een mail zonder waardes..
Citaat:
Reply to: <> Bcc: Beste Roy van Breugel, Er is een aanvraag voor een offerte ingediend. ---Persoonlijke gegevens--- ---Persoonlijke gegevens---


Iemand enig idee?

8 antwoorden

Gesponsorde links
Offline Stijn - 13/09/2007 15:22
Avatar van Stijn PHP expert Je doe het wel verkeerd, zo los je het niet op met die foreach lus. Je moet het zo doen:

  1. $bericht = "Beste ".$_POST['ontvanger_naam'].",
  2. Er is een aanvraag voor een offerte ingediend.
  3.  
  4. ---Persoonlijke gegevens---
  5. ".$_POST['voorletters']."
  6. ---Persoonlijke gegevens---";
  7.  
  8. mail($ontvanger_email, $onderwerp, $bericht, $headers);
Offline Simax - 13/09/2007 15:24 (laatste wijziging 13/09/2007 15:55)
Avatar van Simax Onbekend Kan ok anders?

Ik heb iets van 40 inputvelden in mijn formulier &
het lijkt mij niet handig ze allemaal eerst een variabele te geven.

  1. $voorbeeld1 = $_POST['voorbeeld1'];
  2. $voorbeeld2 = $_POST['voorbeeld2'];
Offline Stijn - 13/09/2007 16:09
Avatar van Stijn PHP expert Ja dat kan maar dan wel als volgt

  1. <?php
  2. foreach( $_POST as $name => $value ) {
  3. echo $name . ' heeft als waarde: ' . $value;
  4. }


Je zal dan zoiets op je scherm krijgen:

voorbeeld1 heeft als waarde: waarde 1
voorbeeld2 heeft als waarde: waarde 2
voorbeeld3 heeft als waarde: waarde 3
...
voorbeeld40 heeft als waarde: waarde 40
Offline Simax - 13/09/2007 17:08
Avatar van Simax Onbekend ok,
dat zou wel handig zijn .

maar kan ik dan gebruik maken van $voorbeeld1 ipv. $waarde?
Want ik wil niet alle input velden op volgorde laten weergeven.
Offline Stijn - 13/09/2007 17:12
Avatar van Stijn PHP expert
  1. <?php
  2. foreach( $_POST as $name => $voorbeeld1 ) {
  3. echo $name . ' heeft als waarde: ' . $voorbeeld1;
  4. }

Euhm bedoel je zo? Dat is gewoon hetzelfde maar met een andere naam. Als het dat niet is moet je je probleem eens wat duidelijker uitleggen .
Offline Simax - 13/09/2007 17:17 (laatste wijziging 13/09/2007 17:18)
Avatar van Simax Onbekend Ik heb iets van 40 input-velden.

Ik zou graag op een makkelijke manier alle input verwerken in $bericht(en deze versturen per email).

Nu zou ik het kunnen doen zoals hieronder..
  1. $voorbeeld1 = $_POST['voorbeeld1'];
  2. $voorbeeld2 = $_POST['voorbeeld2'];

alleen lijkt me dat niet bepaald handig.

De variabele gebruik ik vervolgens in $bericht..
  1. $bericht = "Voorbeeld 1: ".$voorbeeld1."
  2. Voorbeeld 2: ".$voorbeeld2." etc";
Offline Koen - 13/09/2007 19:30 (laatste wijziging 13/09/2007 19:31)
Avatar van Koen PHP expert http://www.site..._Formulier
Hier heb je hetzelfde gevraagd,
elke mogelijke manier en uitleg is gegeven.
Ik vraag me af wat je nog steeds niet begrijpt, al vraag ik dat al zo'n 10 posts, met een vaag antwoord als resultaat.
Als jij het niet snapt, kunnen we niet verder!


Edit: Mooie avatar, Stijn  
Offline marten - 13/09/2007 19:35
Avatar van marten Beheerder Dit is een repost.

Slotje.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.321s