probleme d'un débutant avec la focntion mail() - PHP - Programmation
Marsh Posté le 11-10-2004 à 13:20:10
va voir la fonction mail sur php.net et vérifie que ton hébergeur autorise l'envoi de mails par php
Marsh Posté le 11-10-2004 à 13:28:28
Salut Sinan,
j'ai été voir sur le site de mon hébergeur (tiscali) et ils disent ceci :
Vous pouvez utiliser toutes les fonctions, sauf :
- les fonctions réseaux
- les fonctions SYSLOG
- la possibilité de changer les options déclarées dans la Config PHP
- les fonctions POSIX
étant donné que je ne comprends pas grand chose (pour l'instant) à tout ça, j'aimerais savoir si ça inclut la fonction mail...
et une petite explication sur ce tout ça veut dire serait super sympa ;-)
thanks
Marsh Posté le 11-10-2004 à 14:10:36
Normalement oui, sinon tu peux aussi faire un phpinfo() je crois, il me semble que l'info s'y trouve (à confirmer)
De toute façon, si lors de l'envoi tu as une erreur 404, je doute fort que ça vienne de la fonctione mail() désactivée ... C'est au moment où tu valides ton formulaire que tu as cette erreur ?
Pourrais tu nous mettre des portions de code aussi ? (voir le code entier s'il n'est pas long)
++
Marsh Posté le 11-10-2004 à 14:21:55
oui c'est au moment où je valide que ça...coince!
voici le code :
<form method="POST" action="<? echo $PHP_SELF; ?>">
<p align="center">
<b><font size="3" face="Verdana"><u>Formulaire E-Mail</u></font></b>
</p>
<p align="center">
<?
// Récupération des variables envoyées en POST
$posted = $_POST['posted'];
$from = $_POST['from'];
$to = $_POST['to'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$entetes = $_POST['entetes'];
// Définition des entetes :
$entetes = "From:$fromnrreturn-path:$from";
if($posted)
{
if(empty($to))
echo "L'e-mail du destinataire svp !";
elseif(empty($from))
echo "Votre E-mail svp !";
elseif(empty($subject))
echo "Le Sujet du Message svp !";
elseif(empty($message))
echo "Le Message svp !";
else
{
if(mail($to,$subject,$message,$entetes))
echo "Email envoyé avec Succès !";
else
echo "L'envoi de l'Email a échoué, réessayez ou <br> recopiez \"intervet@netcourrier.com\" directement dans votre client d'envoi de mails";
}
}
?>
Marsh Posté le 11-10-2004 à 14:25:01
Essaies de remplacer ton
$PHP_SELF;
par
$_SERVER['PHP_SELF'];
Autre chose pour les echos, tu n'est pas obligé de faire
<? echo $variable; ?>
tu peux faire
<?=$variable?>
++
Marsh Posté le 11-10-2004 à 14:30:58
miltonis a écrit : oui c'est au moment où je valide que ça...coince! |
rassure moi, tu n'a pas recopier le formulaire la hein?
Marsh Posté le 11-10-2004 à 14:31:07
merci mais...
cette fois il ne me dirige pas vers une erreur 404 mais rafraichit la page en effaçant les donnees.
en tout cas je ne reçois pas le mail de test, j'attends un peu au cas où il serait un peu long..
Marsh Posté le 11-10-2004 à 14:32:06
non :-)
le formulaire le voici :
<input type="hidden" name="posted" value="1">
<p align="center">Destinataire :
<input type="text" name="to" size="22" value="intervet@netcourrier.com"></p>
<p align="center">Expéditeur :
<input type="text" name="from" size="22"></p>
<p align="center">Sujet :
<input type="text" name="subject" size="45">
</p>
<p align="center">Message :</p>
<p align="center"><textarea rows="8" name="message" cols="45"></textarea>
</p>
<p align="center"></p>
<p align="center">
<input type="submit" value="Envoyer" name="envoyer">
</p>
</form>
Marsh Posté le 11-10-2004 à 14:32:36
chacal_one333 a écrit : rassure moi, tu n'a pas recopier le formulaire la hein? |
Je pense quand meme que non
Marsh Posté le 11-10-2004 à 14:33:28
deja html a revoir, le align et les <p> dans le vent ca sert a quedalle
ensuite fait if (isset($_POST["posted"])) voir
Marsh Posté le 11-10-2004 à 14:42:29
tu as raison pour le HTML, correction faites aussi pour le if(isset...
mais c'est tjrs la même réaction, je ne vois pas ce que ça peut être
à moins que ce ne soit du coté de tiscali..
Marsh Posté le 11-10-2004 à 14:44:51
en plus ta method du $posted ca sert a rien.
c'est autant fait
<input type="submit" name="truc" />
et dans le traitement
if (isset($_POST["truc"]))
tu a bien changé le $PHP_SELF en $_SERVER["PHP_SELF"] ?
Marsh Posté le 11-10-2004 à 14:52:45
oui oui, j'ai bien intégré le $_SERVER["PHP_SELF"];
et le IF est bien fermé,
ne comprenant tjrs pas ce qui va pas, je vais tout faire de manière plsu simple, voir ce que ça donne.
mais si une idée vous vient en attendant, n'hésitez pas.
merci! :-)
Marsh Posté le 11-10-2004 à 14:57:00
replace
Code :
|
par
Code :
|
voir s'il arrive au moins la
Marsh Posté le 11-10-2004 à 15:06:36
Ah j'avais mal vu pour le IF ... bah je savais pas qu'on pouvais faire des IF ... ELSE sans les accolades en fait...
Essayes tout simplement
Code :
|
Voir ce que ça donne
Marsh Posté le 12-10-2004 à 13:06:34
j'ai un peu tardé mais me revoilà,
j'ai essayé avec
<form method="post" action="<?=$_SERVER["PHP_SELF"]?>">
<input type="text" name="toto">
<input type="submit">
</form>
<?
echo isset($_POST['toto']) ? "Oui" : "Non";
?>
et le form est affiché d'emblée avec un NON, je soumets la requete et la page se recharge.
ce qui me taraude c'est que ça m'a l'air tout bete mais que ça ne marche pas.
Tiscali accepte la focntion mail non?
merci
Marsh Posté le 12-10-2004 à 13:07:43
Code :
|
Marsh Posté le 12-10-2004 à 13:49:06
salut Chacal,
avec ça aussi c'est la même
il y a une différence entre le code que tu m'as envoyé et
echo isset($_POST['toto']) ? "Oui" : "Non"; ?
Marsh Posté le 12-10-2004 à 14:13:45
pas sur je l'ai mis comme une alternative
Marsh Posté le 12-10-2004 à 15:48:50
alors voilà,
je m'y prends autrement, ça marche cette fois mais j'ai encore un p'ti souci
le texte est comme codé, je neconais pas l'encode exact mais j'ai mis
Code :
|
par ex si je mets dans le message 123, j'ai DZHetc==
Marsh Posté le 11-10-2004 à 13:18:33
Bonjour,
Je viens de faire un formulaire avec un appel à la focntion mail pour envoyer juste un mesage à partir d'un site.
Mais, ça ne marche pas.
je suis certain que j'ai oublié quelque chose mais j'ai beau chercher je ne vois pas quoi, le mail de test en tout cas jene le reçois pas. Au contraire, il me redirige vers une page 404.
allez un petit coup de main?
voici le scriptque j'ai récupéré sur un site, et modifié à ma sauce :
merci!:-)