Problème email en php

Eléphanteau du PHP | 13 Messages

26 mars 2006, 02:06

J'ai uploadé le fichier envoi.php et j'obtien une erreur:
http://quebec-host.com/envoi.php

Sinon je crois que c'étais ce que je devais faire, es-ce que je dois aussi mettre la fonction }else{ dans le fichier contact.php ?

-Éric

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

26 mars 2006, 19:30

Il faut surtout que tu adaptes avec tes infos la partie laissée en pointillés :)
$from="................ "; 
$to="...................";
$subject = $_POST['Sujet']; 
switch($subject) //ton switch 
{.../...} 

Eléphanteau du PHP | 13 Messages

26 mars 2006, 23:10

Dans le fond je mets rien puisque je ne peux pas savoir de qui vient le mail et il doit être envoyer entre 3 personnes différentes.

Le switch quesque je dois faire? Un exemple serait apprécié. :P

Merci encore de ne pas le lâcher. :D

-Éric

Mammouth du PHP | 19672 Messages

26 mars 2006, 23:33

À première vue, tu as un problème avec le fonctionnement du "switch" : un petit tour dans la doc appropriée devrait t'éclairer
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 13 Messages

27 mars 2006, 03:52

Je crois que je suis vraiment pas prèt pour le php, je ne comprends absolument rien de ce que vous avez posté et je peux dire que j'essaye de comprendre. :oops:

Tout simplement me dire quoi mettre ici:

Code : Tout sélectionner

switch($subject) //ton switch {.../...}
Dans le lien que vous avez donné j'ai pas vu de switch faite comme celui-ci.

Je suis un peu confus, mais bon faut m'excuser je suis vraiment pas doué.

-Éric

Mammouth du PHP | 19672 Messages

27 mars 2006, 09:44

La structure switch teste la valeur d'une variable et permet de choisir une instruction selon cette valeur, exemple :
/* Créons une variable de test */
$var = "xyz";
/* On va exécuter une commande selon la valeur de la variable */
switch($var)
{
    /* Si elle vaut "abc" */
    case "abc" :
        /* Alors on exécute un instruction correspondante */
        echo("<p>La variable vaut ". $var ."</p>\n");
        /* On sort de la structure de contrôle */
        break;
    /* Si elle vaut "123" */
    case "123" :
        /* Alors on exécute un instruction correspondante */
        echo("<p>La variable vaut ". $var * 2 ."</p>\n");
        /* On sort de la structure de contrôle */
        break;
    /* Si elle vaut "xyz" */
    case "xyz" :
        /* Alors on exécute un instruction correspondante */
        echo("<p>La variable vaut ". $var ."</p>\n");
        /* On sort de la structure de contrôle */
        break;
    /* Si la variable ne vaut aucune des valeurs proposées */
    default :
        /* Alors on exécute un instruction correspondante */
        echo("<p>La variable ne vaut aucune des valeurs valides</p>\n");
}
En clair, on teste la valeur en la comparant à une autre valeur prédéfinie : si il y a correspondance, on exécute l'instruction correspondante et on sort de la structurede contrôle avec "break" : si on ne rencontre aucune de ces valeurs, alors l'instruction qui suit le "default" sera exécutée. Le "break" dans ce dernier cas est facultatif.

Le break est impératif pour les autres sinon le test suivant sera effectué.

Est-ce que c'est plus clair comme ça ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 09:54

oups en te donnant un nouveau code, je n'ai pas tout retapé, mais tu peux reprendre exactement ce que tu avais fait initialement, à savoir, switch, case que tu avais préparé au tout début à savoir:
$subject = $_POST['Sujet']; 
switch($subject) 
   { 
   case 'Infos': 
$to = "[email protected]"; 
       break; 
   case 'Support': 
$to = "[email protected]"; 
       break; 
   case 'Webdesign': 
$to = "[email protected]"; 
       break; 
   case 'Autre': 
$to = "[email protected]"; 
       break; 
   } 
// contenu du mail = message 
$content=stripslashes(htmlentities('de : '.$_POST['Nom'].' 
Email : '.$_POST['Email'].' 
Site : '.$_POST['Site'].' 
Sujet : '.$_POST['Sujet'].' 
Message : '.$_POST['commentaires'])); // contenu du message 
//envoi du mail 
        mail($to, $subject, $content, $from); 

?> 
Bon courage