Probleme envoi mail a cause de PHP_SELF

Résolu
73manu73 Messages postés 18 Date d'inscription lundi 31 janvier 2005 Statut Membre Dernière intervention 6 octobre 2005 - 5 sept. 2005 à 17:39
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 6 sept. 2005 à 13:47
Bonjour,

J'ai trouvé un script php d'envoi mail que j'ai quelque peu modifié à ma convenace.
Deux questions se posent à moi :

1.
Lorsque j'utilise le script seul intitulé contact.php ; il fonctionne très bien, je reçois correctement le mail au destinataire choisi.
Mais lorsque je l'inclue dans mon site, j'appuie sur le bouton : Envoyer le mail et le script me renvoie sur ma page d'accueil. A savoir que mon site est organisé ainsi : index.php et sont inclues les pages accueil.php, contact.php, ...... sous la forme /?page= contact dans l'URL.

2.
Etant donné que j'ai écrit les mails des destinataires en HTML, les robots spam peuvent certainement les lire ; dois-je plutot utiliser les array en php pour éviter le spam ?

Voici mon code de ma page contact.php :



Formulaire de contact


13 réponses

J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
5 sept. 2005 à 19:46
Salut,



De la manière dont tu as données les info, je préssent que tu as déjà une trés bonne idée de la réponse à ton problème.



Je vais la confirmée :

Tu execute une soumission de formulaire (submit). Avant d'appuyer sur
le bouton "envoyer", regarde dans le code source de ta page quelle est
l'action de soumission.

En clair, <form method=post action="???" >...</form>



A mon avis, les ??? sont en fait "index.php"... A partir de là, si mes
propos sont avérés, remplace $_SERVER['PHP_SELF'] par LA valeur adéquate

exemple : $_SERVER['PHP_SELF']."?page=contact.php"



Si je me gourre, n'hésite pas à m'engueler...

<hr size="2" width="100%">6 C pa ça Fo L'dir, Pi 6 C ça Fo L'Dir oci... Br'F 10t le !!!
Doc officielle de PHP en français -
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 sept. 2005 à 13:47
De rien, bon courage :-)
3
73manu73 Messages postés 18 Date d'inscription lundi 31 janvier 2005 Statut Membre Dernière intervention 6 octobre 2005
6 sept. 2005 à 05:04
Bonjour,

Je te remercie beaucoup de ton message qui a été concluant.

Donc, PHP_SELF renvoie obligatoirement sur la page : index.php dans le dossier dans lequel il se trouve si j'ai bien compris ?

D'autre part, pourriez vous me repondre pour ma seconde question en ce qui concerne la liste des destinataires :
Cette dernière est intégrée en XHTML donc à mon avis, elle est lisible par les robots du spam. Est-il plus judicieux et plus sécurisé de la mettre en PHP dans un array par exemple ? (pour éviter d'utiliser une base de donnée mySQL)

Dans l'attente et par avance, je vous remercie infiniment de vos reponses ; elles me font avancer dans la compréhension du langage php ! ;o)
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 sept. 2005 à 12:48
Hello;



$_SERVER ['PHP_SELF'] renvoie la page courante sur laquelle tu es au moment où tu appelles cette constante.



si dans index.php tu écris :

echo $_SERVER ['PHP_SELF']; // affiche : index.php



si dans toto.php tu écris :

$_SERVER ['PHP_SELF']; // affiche : toto.php

Pour ta 2ème question, tu peux en effet la stocker dans un tableau php
que tu sérialises; puis tu enregistres cette chaine obtenue dans un
fchier x. Pour lire ta liste, tu lis le fichier, et tu désérialises.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
73manu73 Messages postés 18 Date d'inscription lundi 31 janvier 2005 Statut Membre Dernière intervention 6 octobre 2005
6 sept. 2005 à 13:03
Ok, je te remercie de ta reponse, j'ai mieux compris pour le $_SERVER ['PHP_SELF']

2. Je ne désire pas de tableau <td> ; je pense que tu parles d'un tableau array. Et enregistrer cette chaine dans un fichier x ; c'est à dire enregistrer dans un : fichier.txt ??

Merci de m'apporter une reponse. ;o)
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 sept. 2005 à 13:05
Lol; oui je parlais d'un array.

Et x était juste là pour remplacer le nom de ton fichier...heu...comme monsieur x! Ton fichier peut s'appeler comme tu le veux.
0
73manu73 Messages postés 18 Date d'inscription lundi 31 janvier 2005 Statut Membre Dernière intervention 6 octobre 2005
6 sept. 2005 à 13:11
Et ainsi ; (lol) avec les array, il n'y aura plus de possibilité pour les robots spammeurs... de lire les e-mails ?
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 sept. 2005 à 13:17
je suppose que cela dépend des robots. Un tableau sérialisé reste relativement lisible...relativement.

Si je fais ça :



<?php

$tab array ('nom'> array ('toto', 'tata'), 'email' => array ('toto@becool.com', 'tata@bebad.com'));

echo $strSer = serialize ($tab);

?>



Voilà ce que j'obtiens :



a:2:{s:3:"nom";a:2:{i:0;s:4:"toto";i:1;s:4:"tata";}s:5:"email";a:2:{i:0;s:15:"toto@becool.com";i:1;s:14:"tata@bebad.com";}}




Tu peux donc toujours hasher cette chaine avant de la stocker, avec md5 () ou sha1 ().

Et là elle ne sera plus lisible du tout.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 sept. 2005 à 13:18
Heu...je dis des conneries lol, elle ne sera plus lisible, même par toi!!

Tu peux l'encoder éventuellement, en base64 (base64_encode), je ne
pense pas qu'un robot s'amuse à ouvrir ce fichier précisément, lire la
chaine, la décoder parce qu'il devine que c'est du base64, et récupérer
les addresses dedans...j'en doute fort.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 sept. 2005 à 13:24
Ou le crypter, directement.
0
73manu73 Messages postés 18 Date d'inscription lundi 31 janvier 2005 Statut Membre Dernière intervention 6 octobre 2005
6 sept. 2005 à 13:24
ah... je croyais simplement que si j'ecrivais mon adresse e mail en PHP et non en HTML - les robots ne venaient pas lire le PHP...

Dans un premier temps, il faut que je créé l'array ou éventuellement en me servant d'une base de données ainsi, l'administrateur du site pourra ajouter des adresses e mails (donc des destinataires) si je fais le script que va bien... :o)
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 sept. 2005 à 13:30
Ben le plus simple c'est la base de donnée, évidemment. Mais tu disais
que tu n'en voulais pas. Et en effet, si tu n'affiches jamais nulle
part tes adresses, aucun robot ne viendra les lire.
0
73manu73 Messages postés 18 Date d'inscription lundi 31 janvier 2005 Statut Membre Dernière intervention 6 octobre 2005
6 sept. 2005 à 13:41
donc je vais prendre la base de donnees finalement ; je te remercie pour tout !!! Si je rencontre des soucis, je post sur un autre sujet !

Merci
0