...suite
En ce qui concerne les étoiles elles sont générées uniquement ici (forum) lors du copier/coller.
Elle ne sont pas sur le script du site.
Alexandre
...suite
En ce qui concerne les étoiles elles sont générées uniquement ici (forum) lors du copier/coller.
Elle ne sont pas sur le script du site.
Alexandre
Les fichiers commençant par un . sont cachés par défaut sur les systèmes Unix ; par contre je ne connais pas assez MacOS pour te dire comment gérer ça.
Pour les étoiles c'est très étrange.
Tu pourrais joindre le fichier directement sur le forum qu'on regarde s'il n'a rien de bizarre ?
Pour être sur qu'on est bien sur une erreur PHP qui ne s'affiche pas, tu pourrais ajouter un echo au début du fichier ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <?php error_reporting(E_ALL); echo 'Page PHP';
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
Bonjour,
Ça y est j'ai placé le script avec la mentionJe mets le script en pièce jointe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo 'Pge PHP' ;
formAmail.php
Ouille.
Je ne sais pas avec quel éditeur de texte tu as écris le fichier mais ça ne va pas du tout.
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
Bonjour,
C'est le "monde" Mac, et ça ne te dira peut être pas grand chose. Il s'agit de TextEdit qui est l'éditeur de texte fourni avec le pack des logiciels Mac lorsque tu achètes une machine.
J'avoue avoir été troublé lorsque scvo.One a parlé d'étoiles. C'est d'ailleurs avec TextEdit que j'ai eu des problèmes avec le fichier .htaccess qui refusait obstinément ce nom. Je l'ai donc fait avec Word qui a accepté mais l'a rendu invisible...
Dans le doute j'ai ouvert le fichier formAmail sur site pour comparer et non celui du disque dur, mais tout m'a semblé normal. Mais comme tu le sais je suis plus que mauvais et je cherchais plus les étoiles... Ce qui est bizarre c'est que je me suis toujours servi de ce logiciel (peut être le nouveau MacOS ?)
Dois-je chercher un autre éditeur de texte ? Et reprendre les scripts que tu m'as précédemment envoyé depuis le début avec un nouvel éditeur ?
Alexandre
...Suite
Pour t'éviter de te faire perdre du temps, je me suis procuré TextWrangler qui semble "top".
J'ai repris tous tes scripts, et placé le dernier sur le site via ftp. La nouveauté est qu'il me répond l'echo que tu as écrit en dernier "Page PHP".
Je te mets en pièce jointe le fichier.
Alexandre
formAmail.php
C'est mieux
Tu peux ajouter tes echo pour continuer le debugage ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 echo 'avant if/mail<br/>'; if (mail($to, $sujet, $body, $headers)) { echo 'dans if/mail<br/>'; $texte = "Nous avons bien enregistré votre commande. Un email de confirmation vous sera envoyé le jour de l'expédition de votre colis."; } else { echo 'dans else/mail<br/>'; $Check = "Erreur pendant la transmission<br/>"; } echo 'après if/mail<br/>';
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
J'ai rajouté les 4 echo que tu m'as indiqué:
Mais le retour ne prend en compte que celui du début : Page PHP
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
28
29
30
31
32
33
34 /* En-têtes obligatoires du message */ $headers = "From: webmaster<$from>\n"; $headers .= "To: Erox<$to>\n"; $headers .= "MIME-Version: 1.0\n"; $headers .= "Content-type: text/plain; charset=iso-8859-15\n"; echo 'avant if/mail<br/>'; if (mail($to, $sujet, $body, $headers)) { echo 'dans if/mail<br/>'; $texte = "Nous avons bien enregistré votre commande. Un email de confirmation vous sera envoyé le jour de l'expédition de votre colis."; } else { echo 'dans else/mail<br/>'; $Check = "Erreur pendant la transmission<br/>"; } echo 'apres if/mail<br/>'; } if ($Check != '') { $texte = "Désolé, votre commande ne nous est pas parvenue pour les raisons ci-dessous.<br/> Merci de renouveller votre commande."; } ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php error_reporting(E_ALL); echo 'Page PHP'; $from = 'webmaster@erox.fr';
Il y vraiment un truc qui m'echappe ... tu peux ajouter le var_dump :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var_dump($Check); if ($Check === '') {
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
Au dessus de
Code : Sélectionner tout - Visualiser dans une fenêtre à part if ($Check === '') {
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
OK
Ça donne maintenant:
Maintenant la page de retour (echo) ne m'indique plus "Page PHP"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 } var_dump($Check); if ($Check === '') { if ($Check === '') { :P $referer = $_SERVER['HTTP_REFERER'];
Mais non
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 var_dump($Check); if ($Check === '') { $referer = $_SERVER['HTTP_REFERER'];
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
Désolé ! C'est rectifié.
La page de retour (echo) indique à nouveau "Page PHP"
Bon on va deployer les grands moyens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 <?php error_reporting(E_ALL); echo 'debut<br/>'; $from = 'webmaster@erox.fr'; $to = 'commande@erox.fr'; $Check=""; echo 'check nom<br/>'; if (empty($_POST['Nom'])) { $Check.="<center><b>Vous n'avez pas indiqué votre nom.<br/></center></b>"; } echo 'check prenom<br/>'; if (empty($_POST['Prenom'])) { $Check.="<center><b>Vous n'avez pas indiqué votre prénom.<br/></center></b>"; } echo 'check adresse1<br/>'; if (empty($_POST['Adresse1'])) { $Check.="<center><b>Vous n'avez pas indiqué votre adresse.<br/></center></b>"; } echo 'check codepostal<br/>'; if (empty($_POST['CodePostal'])) { $Check.="<center><b>Vous n'avez pas indiqué votre le postal.<br/></center></b>"; } echo 'check ville<br/>'; if (empty($_POST['Ville'])) { $Check.="<center><b>Vous n'avez pas indiqué la ville.<br/></center></b>"; } echo 'check telephone<br/>'; if (empty($_POST['NoTelephone'])) { $Check.="<center><b>Vous n'avez pas indiqué votre numéro de téléphone.<br/></center></b>"; } echo 'check accord<br/>'; if (empty($_POST['Accord'])) { $Check.="<center><b>Vous n'avez pas coché la case acceptant les frais d'expédition.<br/></center></b>"; } echo 'check email<br/>'; if (empty($_POST['Email']) || !filter_var($_POST['Email'], FILTER_VALIDATE_EMAIL)) { $Check.="<center><b>Votre Email n'est pas correct. <br/></center></b>"; } echo 'fin check<br/>'; var_dump($Check); if ($Check === '') {
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
Tout d'abord MERCI de ton opiniâtreté !
Bon, j'ai remplacé la première partie du script avec tes nouveaux éléments.
En retour on obtient tous les echo jusqu'à "check email"
Bonne nuit.
Alexandre
Bon ça doit être la fonction filter_var() qui pose problème.
Tu pourrais voir dans ton panneau d'administration online.net si tu as accès au log d'erreur PHP quelque part parce que travailler en aveugle c'est affreux.
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
Dans la fenêtre de online concernant ce site, il y a 4 dossiers , awfull , database_backup, logs, www.
Dans le premier des fichiers de type : awfull.css, awfull.current, awfull.hist, ctry_usage_200807.png...
Le deuxième: il n'y a qu'un fichier texte "lisez moi"
Le troisième : une foultitude de fichiers : erox.fr_20100312.log.gz
Le dernier (www) dans lequel se trouvent tous les fichiers du site.
Mais nulle part un log d'erreur PHP.
Je vais téléphoner à Online, et je reviens vers toi.
Je ne sais pas si ça va beaucoup t'aider. La réponse de Online :
Les logs d'erreurs sont disponibles pour 24 h après la génération des erreurs et peuvent être consultés par FTP sur le serveur stats.online.net avec les identifiants du compte FTP webmaster.
J'y suis allé j'ai vu un fichier access.log ci-joint. NON le forum n'accepte pas le fichier (fichier non valide !)
A la place j'ai copié le fichier log et fait un coller fichier texte, c'est celui-là qui est ici.
Si ça peut t'aider je te donne mes identifiants et MdP par MP
Logs.txt
ça pourrait être un bonne idée de tester séparément les deux moitiés de la condition sur l'email :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 echo 'check email<br/>'; if (empty($_POST['Email'])) { $Check.="<center><b>Votre Email n'est pas renseigné. <br/></center></b>"; } if (filter_var($_POST['Email'], FILTER_VALIDATE_EMAIL) === false) { $Check.="<center><b>Votre Email n'est pas correct. <br/></center></b>"; }
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.
Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager