Data niet zichtbaar in e-mail

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hendrikus Dikkema

Hendrikus Dikkema

24/03/2014 18:04:53
Quote Anchor link
Ik probeer vanuit Flash (as3) data te verzenden naar een php-script, dat me op de hoogte brengt van de invoer.
Omdat het om twee arrays gaat gebruik ik een for-loop:
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
<?
//$mailTo  = $_POST['email'];
//$myDatum = $_POST['myDatum'];


$car_amount = array(1,2,3,4,5,0,4,3,2,1)
$car_names = array("Chrysler","BMW","Volkswagen","Volvo","Daihatsu","Peugeot","Opel","Audi","Fiat","Cooper");


$siteName = "my website";
$myMail = "[email protected]";


$toWebmaster = "
____________________________________
Counting cars on Sunday:

for($i=0;$i<count($car_names);$i++){
    if($car_amount[$i]>0){
        $car_amount[$i] . "
pcs " . $car_names[$i] . "<br>\n";
    }
}
____________________________________
"
;
mail ($myMail, "Cars counted", $toWebmaster, $siteName);
?>

Vraag:
1 hoe krijg ik de variablen uit het array zichtbaar?
2 hoe zet ik ze netjes in een tabel met 4 kolommen?
(In werkelijkheid gaat het om veel meer namen)
Gewijzigd op 24/03/2014 18:13:52 door Hendrikus Dikkema
 
PHP hulp

PHP hulp

14/05/2024 13:19:13
 
Php knipper

php knipper

24/03/2014 18:07:18
Quote Anchor link
$toWebmaster = "
____________________________________
Counting cars on Sunday:

for($i=0;$i<count($car_names);$i++){
if($car_amount[$i]>0){
$car_amount[$i] . " pcs " . $car_names[$i] . "<br>\n";
}
}
____________________________________
";

die for wordt niet uitgevoerd, php ziet het als tekst
 
Hendrikus Dikkema

Hendrikus Dikkema

24/03/2014 18:16:58
Quote Anchor link
Klopt, ik zie de loop zonder de variabelen.
Maar daarmee blijft mijn vraag onbeantwoord: hoe krijg ik die variabelen wel in de tekst en de routine niet?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

24/03/2014 18:38:43
Quote Anchor link
Door de routine buiten de quotes te houden.
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
//$mailTo  = $_POST['email'];
//$myDatum = $_POST['myDatum'];


$car_amount = array(1,2,3,4,5,0,4,3,2,1)
$car_names = array("Chrysler","BMW","Volkswagen","Volvo","Daihatsu","Peugeot","Opel","Audi","Fiat","Cooper");


$siteName = "my website";
$myMail = "[email protected]";


$toWebmaster = "
____________________________________
Counting cars on Sunday:

"
;
for($i=0;$i<count($car_names);$i++){
    if($car_amount[$i]>0){
        $toWebmaster .= $car_amount[$i] . " pcs " . $car_names[$i] . "<br>\n";
    }
}

$toWebmaster .= "
____________________________________
"
;
mail ($myMail, "Cars counted", $toWebmaster, $siteName);
?>
Gewijzigd op 24/03/2014 18:39:16 door Ger van Steenderen
 
Php knipper

php knipper

24/03/2014 18:39:02
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$toWebmaster
= "Counting cars on Sunday:<ul>"

for($i=0;$i<count($car_names);$i++){
    if($car_amount[$i]>0){
        $toWebmaster .= "<li>".$car_amount[$i] . " pcs " . $car_names[$i] . "</li>";
    }
}


$toWebmaster .= "</ul>";
Gewijzigd op 24/03/2014 18:40:07 door php knipper
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

24/03/2014 18:55:10
Quote Anchor link
@Hendrikus:
Als je HTML tags in het bericht gebruikt, moet je ook zorgen dat in de headers wordt aangeven dat het een HTML bericht is.
 
Hendrikus Dikkema

Hendrikus Dikkema

24/03/2014 20:12:23
Quote Anchor link
@Ger
Ik zag het. Intussen werkt 't en wat belangrijker is: ik begrijp het hoe en waarom.
Ga nu proberen een html-tabel te maken en te vullen.
Dank!
 
- SanThe -

- SanThe -

24/03/2014 20:34:45
 
Hendrikus Dikkema

Hendrikus Dikkema

24/03/2014 20:50:14
Quote Anchor link
San The, ik zie het.
Welke header gebruik ik dan i.p.v. $toWebmaster?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

24/03/2014 21:08:29
Quote Anchor link
Met alle respect voor San The's mailheaders link (want daar is helemaal niks mis mee) adviseer ik je om een naar mail classes zoals PHPMailer of SwiftMailer te kijken.
Deze regelen de mailheaders al voor je, en maken het een stuk eenvoudiger om bijvoorbeeld bijlagen mee te sturen.

En dan (min of meer uit niet nieuwsgierigheid) hoe verstuur je de gegevens vanuit ActionScript, je kan daar in principe al een hoop uitfilteren en (belangrijker) organiseren.
 
Hendrikus Dikkema

Hendrikus Dikkema

24/03/2014 22:26:55
Quote Anchor link
Hoi Ger,
Vanuit as3 verstuur ik de data als variabelen naar php. Echter, ik heb twee arrays, één met namen (Strings) en een met aantallen (int).
Die variabelen verstuurde ik met een for loop. In totaal waren dat er meer dan 100.
Dat is script-technisch natuurlijk onzin. Vandaar de vraag op jullie phphulp.
Probleem was, dat ik niet wist waarom het niet werkte: zat de fout in as3 of in php. Het was dus php.
Als het me nu ook nog lukt om arrays naar php te sturen, dan ben ik klaar.
Ik ben nog maar een paar maand bezig met as3 en begin een beetje te begrijpen van classes.
Ik zal kijken naar je aanbevolen classes, ze proberen en als 't niet lukt me weer melden.
Dank voor je . wel . nieuwsgierigheid.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

26/03/2014 18:57:45
Quote Anchor link
>> Als het me nu ook nog lukt om arrays naar php te sturen, dan ben ik klaar.
Array's zal niet gaan, maar wel XML of JSON:
Code (js)
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
var car1:Object = new Object();
car1.manufacturer = "Mercedes";
car1.type = "190 E";
car1.year = "2008";

var car2:Object = new Object();
car2.manufacturer = "Mercedes";
car2.type = "230 SL";
car2.year = "2009";

var car3:Object = new Object();
car3.manufacturer = "BMW";
car3.type = "335i";
car3.year = "Who knows";

var cars:Array = new Array(car1,car2,car3);

var cardata:String = JSON.stringify(cars);
trace(cardata);

Uitkomst:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
[
{"type":"190 E","year":"2008","manufacturer":"Mercedes"},
{"type":"230 SL","year":"2009","manufacturer":"Mercedes"},
{"type":"335i","year":"Who knows","manufacturer":"BMW"}
]

Deze kan je dus in zijn geheel verzenden en in PHP uitlezen met json_decode.

Ik gebruik Flash CS6, en daar is het een native onderdeel in Flash. Nadeel ervan is dat het alleen met Flash Player 11+ werkt.
Heb je een lagere versie, dan kan je een externe bibliotheek downloaden.
Gewijzigd op 26/03/2014 19:10:57 door Ger van Steenderen
 
Hendrikus Dikkema

Hendrikus Dikkema

26/03/2014 20:33:37
Quote Anchor link
Ger, je hebt een goede neus!
Ik had ook al naar JSON zitten kijken, maar vroeg me af of het voor een eenvoudige array wel noodzakelijk zou zijn. Ik heb twee arrays, die ik in as3 voorbewerk (onnodige = 0 data filteren).
Ik had al voor dat type array gekozen, omdat ik problemen met php voorzag.
Dus:
array1("Mercedes","Fiat","Peugeot","enz")
array2(5,3,1,0)
Trouwens het moet een app worden, AIR en geen flashplayer dus.
Maar we zijn er nog niet, want ik zit toch aan een multidim-array vast.
Ik heb een appje gemaakt, die de locatie (NB en OL) weergeeft.
Bij de waarneming wil ik ook de locatie opslaan, en dan ... zit ik aan een multidimarray vast.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

26/03/2014 21:37:26
Quote Anchor link
Het maakt niets uit in welke applicatie je AS gebruikt, je kan niet zomaar één op één een ActionScript array naar PHP posten (correct me if I'm wrong)
Een Array is in AS ook een object, dus ook al is ie multidimensional kan je hen omzetten naar een JSON string. Blijft altijd veel beter dan om twee arrays naast elkaar te zetten
 



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.