Versio

random email verzenden vanuit formulier

Overzicht Reageren

Renzo Massaro

Renzo Massaro

17/05/2010 13:16:21
Quote Anchor link
Onderstaand het stukje dat random verzend bij het versturen van een formulier

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$email
=array();
$email[0]="r@...tjes.nl";
$email[1]="re@...mail.com";
$email[2]="r@...tjes.nl";
$email[3]="re@...mail.com";
$email[4]="r@...tjes.nl";
$email[5]="re@...mail.com";
$to = $email[rand(0, count($email))];
?>


Nu zit ik alleen nog met het punt dat als een gebruiker bij de vraag, "hoeveel te ontvangen reacties" kan kiezen van 1 tot 6 en dat als hij dan kiest voor 3, dat er dan 3 random emails verstuurd worden en bij 2 maar 2 random emails uit het lijstje..

Iemand die daar bij kan helpen?
 
PHP hulp

PHP hulp

25/05/2012 14:00:45
Gesponsorde koppelingen:
 
Jaron T

Jaron T

17/05/2010 13:29:19
Quote Anchor link
dit kan je het beste doen met for (php.net/for) dat je het ingevoerde getal als max neemt en dan er door heen laat loopen.
 
Chris
Beheerder

Chris

17/05/2010 13:29:31
Quote Anchor link
Ik snap niet precies wat je bedoelt. Ik zie wel 2 dingen die niet kloppen/overbodig zijn in je script. Onderstaand zou het moeten zijn...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$email
=array();
$email[]="r@...tjes.nl";
$email[]="re@...mail.com";
$email[]="r@...tjes.nl";
$email[]="re@...mail.com";
$email[]="r@...tjes.nl";
$email[]="re@...mail.com";
$to = $email[rand(0, count($email) -1)];
?>


Het probleem is dat er wel 6 dingen in de array staan, maar dat de hoogste index niet 6 is maar 5. Dus moet je count - 1 doen.

Voor je echte vraag, probeer het wat meer uit te leggen met meer code?
 
Thijs X

Thijs X

17/05/2010 14:01:01
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
<?php
$aantalEmails
= 3;


$email=array();
$email[]="r@...tjes.nl";
$email[]="re@...mail.com";
$email[]="r@...tjes.nl";
$email[]="re@...mail.com";
$email[]="r@...tjes.nl";
$email[]="re@...mail.com";

// Array shuffelen
array_shuffle($email);

for($i = 0; $i < $aantalEmails; $i++) {
   // Stuur mail
}
?>
 
Renzo Massaro

Renzo Massaro

17/05/2010 14:03:15
Quote Anchor link
meer code heb ik nu even niet bij de hand, staat op mijn pc thuis, maar het is dus een form met standaard vragen zoals naam, adres etc. Dan is er een veld

Aantal offertes te ontvangen:
0 1
0 2
0 3
0 4
0 5
0 6

De gebruiker kiest bv 3, dan is het de bedoeling dat op het moment dat het formulier verstuurd wordt er 3 emailadressen uit het lijstje rand() kehaald worden en verstuurd worden. Op dit moment haalt het formulier er gewoon 1 uit en wordt deze verstuurd, maar ik wil dat er dus gekeken wordt naar de vraag hoeveel offertes er terug moeten komen en dus hoeveel mailadressen er geselecteerd moeten worden om naar te versturen.
Gewijzigd op 17/05/2010 14:04:21 door Renzo Massaro
 
Renzo Massaro

Renzo Massaro

17/05/2010 14:09:38
Quote Anchor link
Dat van thijs lijkt er wel op dat dat is wat ik bedoel. Ik ga er even mee aan de slag, danjulliewel alvast...
 
- Mark -

- Mark -

17/05/2010 14:13:51
Quote Anchor link
:p Thijs was me voor, Anyway iets andere variant.

EDIT: Laat maar mijn variant werkt alleen maar vanaf 2 en hoger.

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
<?php

    #| lijst met email adressen.
    
        $email=array();
        $email[0]="r@...tjes.nl";
        $email[1]="re@...mail.com";
        $email[2]="r@...tjes.nl";
        $email[3]="re@...mail.com";
        $email[4]="r@...tjes.nl";
        $email[5]="re@...mail.com";          
    
    
    #| X aantal E-mail adressen selecteren.
    
        $aantal = 3;
        
    
    #| X aantal geselecteerde E-mail adressen weergeven.
    
        foreach(array_rand($email, $aantal) as $sleutel){
            
            echo $email[$sleutel];
            
        }

    
?>
Gewijzigd op 17/05/2010 14:19:30 door - Mark -
 



Overzicht Reageren