Avatar billede danielzambelli Nybegynder
10. februar 2010 - 14:12 Der er 8 kommentarer og
1 løsning

PHP Mail , indsætter nogle sjove tegn i mailen?

Hej Eksperter!
Nu har jeg siddet i efterhånden 2 timer og har ikke kunne løse problemet :(

Problemet er det at jeg sender nogle datas til min mail via php mail(); og det ser ud til at der tildælfigt bliver indsat nogle "!" "[ ]" tegn rundt omkring i mailen?

I kan se et billede af problemet her: http://www.development.itdenmark.dk/opti-web/mailpro.jpg

Dato felterne (rows) bliver genereret i en while loop, og det er mærkligt at fejlen ikke går ned igennem hele rækken af datas, men kun et par felter?




Min kode for mail funktionen ser sådan her ud:
[code]
ob_start();

    echo "<style type=\"text/css\">";
        include "style.css";
    echo "</style>";

    $data->display();

$message  = ob_get_clean();


$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'To:'. "\r\n";
$headers .= 'From: '.$_POST[name].' <'.$_POST[mail].'>' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

mail($to, $subject, $message, $headers);
[/code]

Jeg håber virkligt i kan hjælpe mig da det er en opgave jeg skal aflevere senere i dag.

Mange tak på forhånd
Mvh Daniel Zambelli
Avatar billede danielzambelli Nybegynder
10. februar 2010 - 14:14 #1
Jeg indsætter lige koden igen, så den indeholder de rigtige tegn :)


ob_start();

    echo "<style type=\"text/css\">";
        include "style.css";
    echo "</style>";

    $data->display();

$message  = ob_get_clean();


$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'To:'. "\r\n";
$headers .= 'From: '.$_POST[name].' <'.$_POST[mail].'>' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

mail($to, $subject, $message, $headers);
Avatar billede hrole Mester
10. februar 2010 - 15:43 #2
Prøv at ændre:
$headers .= 'From: '.$_POST[name].' <'.$_POST[mail].'>' . "\r\n";

til:
$headers .= 'From: '.$_POST['name'].' <'.$_POST['mail'].'>' . "\r\n";
Avatar billede danielzambelli Nybegynder
10. februar 2010 - 16:23 #3
Det hjalp desværre ikke :( og jeg er helt på bar bund må jeg sige :(

Jeg håber der er nogle flere kvalificeret bud
Avatar billede hrole Mester
10. februar 2010 - 17:53 #4
Prøv at poste al koden.
Avatar billede danielzambelli Nybegynder
10. februar 2010 - 18:28 #5
<?php
ob_start();

echo "<style type=\"text/css\">";
    include "mail_style.css";
echo "</style>";

$data->date_start     = "$date_start";
$data->date_end      = "$date_end";
$data->button        = 0;
$data->mail        = 1;

$data->display();

$message  = "".ob_get_clean()."";

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'From: '.$_POST['name'].' <'.$_POST['mail'].'>' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

mail($config_mail_to, $config_mail_subject, $message, $headers);
?>

Håber det giver en lede tråd :)
Avatar billede danielzambelli Nybegynder
10. februar 2010 - 18:38 #6
Det er sjovt, jeg har på fornæmmelsen at fejlen ligger i denne del af koden, for alle de andre felter bliver vist rigtig nok i e-mailen, men det jeg syntes er meget mærkligt det er at den følgende kode bliver vist korekt i browseren, men ikke i e-mailen?

                $i = 0;
                while($this->date_start < $this->date_end){
                    if($bg_color == "color1") { $bg_color = "color2"; }else{ $bg_color = "color1"; }

                    $date_text    = date("l", $this->date_start);
                    $date        = date("d-m-y", $this->date_start);

                    echo "<tr>";
                        echo "<td id=\"".$bg_color."\" align=\"left\">";
                            echo format_day($date_text);
                        echo " </td>";
                        echo "<td id=\"".$bg_color."\" align=\"left\">";
                            echo "$date";
                        echo "</td>";
                        echo "<td id=\"".$bg_color."\">";
                            if($this->mail != 1) {
                                echo "<input class=\"t2\" type=\"text\" name=\"time_start[]\" value=\"".$_POST['time_start'][$i]."\" />";
                            }else{
                                echo "".$_POST['time_start'][$i]."";
                            }
                           
                        echo "</td>";
                        echo "<td id=\"".$bg_color."\">";
                            if($this->mail != 1) {
                                echo "<input class=\"t2\" type=\"text\" name=\"time_end[]\" value=\"".$_POST['time_end'][$i]."\" />";
                            }else{
                                echo "".$_POST['time_end'][$i]."";
                            }
                        echo "</td>";
                        echo "<td id=\"".$bg_color."\">";
                            if($this->mail != 1) {
                                echo "<input class=\"t2\" type=\"text\" name=\"time_1[]\" value=\"".$_POST['time_1'][$i]."\" />";
                            }else{
                                echo "".$_POST['time_1'][$i]."";
                            }
                        echo "</td>";
                        echo "<td id=\"".$bg_color."\">";
                            if($this->mail != 1) {
                                echo "<input class=\"t2\" type=\"text\" name=\"time_2[]\" value=\"".$_POST['time_2'][$i]."\" />";
                            }else{
                                echo "".$_POST['time_2'][$i]."";
                            }
                        echo "</td>";
                        echo "<td id=\"".$bg_color."\">";
                            if($this->mail != 1) {
                                echo "<input class=\"t2\" type=\"text\" name=\"time_3[]\" value=\"".$_POST['time_3'][$i]."\" />";
                            }else{
                                echo "".$_POST['time_3'][$i]."";
                            }
                        echo "</td>";
                        echo "<td id=\"".$bg_color."\">";
                            if($this->mail != 1) {
                                echo "<input class=\"t2\" type=\"text\" name=\"time_4[]\" value=\"".$_POST['time_4'][$i]."\" />";
                            }else{
                                echo "".$_POST['time_4'][$i]."";
                            }
                        echo "</td>";
                        echo "<td id=\"".$bg_color."\">";
                            if($this->mail != 1) {
                                echo "<input class=\"t2\" type=\"text\" name=\"time_5[]\" value=\"".$_POST['time_5'][$i]."\" />";
                            }else{
                                echo "".$_POST['time_5'][$i]."";
                            }
                        echo "</td>";
                        echo "<td id=\"".$bg_color."\">";
                            if($this->mail != 1) {
                                echo "<input class=\"t2\" type=\"text\" name=\"time_6[]\" value=\"".$_POST['time_6'][$i]."\" />";
                            }else{
                                echo "".$_POST['time_6'][$i]."";
                            }
                        echo "</td>";
                        echo "<td id=\"".$bg_color."\">";
                            if($this->mail != 1) {
                                echo "<input class=\"t2\" type=\"text\" name=\"time_7[]\" value=\"".$_POST['time_7'][$i]."\" />";
                            }else{
                                echo "".$_POST['time_7'][$i]."";
                            }
                        echo "</td>";
                        echo "<td id=\"".$bg_color."\">";
                            if($this->mail != 1) {
                                echo "<input class=\"t2\" type=\"text\" name=\"time_8[]\" value=\"".$_POST['time_8'][$i]."\" />";
                            }else{
                                echo "".$_POST['time_8'][$i]."";
                            }
                        echo "</td>";
                        echo "<td id=\"".$bg_color."\">";
                            if($this->mail != 1) {
                                echo "<input class=\"t2\" type=\"text\" name=\"time_9[]\" value=\"".$_POST['time_9'][$i]."\" />";
                            }else{
                                echo "".$_POST['time_9'][$i]."";
                            }
                        echo "</td>";
                    echo "</tr>";
                    $this->date_start = strtotime("+1 day", $this->date_start);
                    $i = $i+1;
                }


jeg beklager den lange kode, men håber gevaldigt på at kunne finde en løsning på problemet da hele projektet afhænger af det ;O

- Daniel
Avatar billede danielzambelli Nybegynder
10. februar 2010 - 23:12 #7
Tak for forsøget hrole
Problem løst - Lukket
Avatar billede majbom Novice
11. februar 2010 - 09:03 #8
hvad var fejlen så?
Avatar billede hrole Mester
11. februar 2010 - 09:08 #9
Det var så lidt. Jeg sad og kikkede på det i går aftes, men havde ingen gode bud. Men det kunne være spændende at høre hvordan du løste problemet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester