...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
Version imprimable
...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:
1
2 <?php error_reporting(E_ALL); echo 'Page PHP';
Bonjour,
Ça y est j'ai placé le script avec la mentionJe mets le script en pièce jointe.Code:echo 'Pge PHP' ;
Pièce jointe 214462
Ouille.
Je ne sais pas avec quel éditeur de texte tu as écris le fichier mais ça ne va pas du tout.
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
Pièce jointe 214519
C'est mieux :P
Tu peux ajouter tes echo pour continuer le debugage ?
Code:
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/>';
J'ai rajouté les 4 echo que tu m'as indiqué:
Mais le retour ne prend en compte que celui du début : Page PHPCode:
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:
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:
1
2
3 var_dump($Check); if ($Check === '') {
A quel endroit du script ?
Au dessus de
:PCode:if ($Check === '') {
OK
Ça donne maintenant:
Maintenant la page de retour (echo) ne m'indique plus "Page PHP"Code:
1
2
3
4
5
6
7
8
9 } var_dump($Check); if ($Check === '') { if ($Check === '') { :P $referer = $_SERVER['HTTP_REFERER'];
Mais non
Code:
1
2
3
4
5 var_dump($Check); if ($Check === '') { $referer = $_SERVER['HTTP_REFERER'];
Désolé ! C'est rectifié.
La page de retour (echo) indique à nouveau "Page PHP"
Bon on va deployer les grands moyens :
Code:
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 === '') {
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"
Pièce jointe 214693
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.
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
Pièce jointe 214728
ça pourrait être un bonne idée de tester séparément les deux moitiés de la condition sur l'email :
Code:
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>"; }