8791 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Je rencontre un petit problème avec un script PHP qui fonctionnait jusqu'à présent mais qui ne fonctionne plus selon le dossier où il se trouve, il note "Vous n'avez pas précisé votre choix à la question 7."

J'ai un hébergement chez 1and1, dessus j'héberge plusieurs sites que j'ai classé dans un dossier "hebergement".
Dans ce dossier "herbergement", j'ai fais des sous-dossiers avec chacun des sites nommés par leur nom de domaines, par exemple : "mon-site.com", "pizza-machin.fr", "lebarducoin.net"...

Pour chacun des sites, les visiteurs ont la possibilité de laisser leur numéro GSM afin de recevoir gratuitement les infos de l'établissement qui les intéresse. 2 fichiers : un .htm et un .php

htm :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>sms</title>
</head>
<body>
<div align="center">
  <form name="form" method="post" action="sms.php">
  <table width="360"  border="1" align="center" cellpadding="2" cellspacing="1" bordercolor="#B38009" bgcolor="#B38009">
    <tr bgcolor="#000000">
      <td height="23" colspan="2"><div align="center"><span class="Style1">Recevez gratuitement nos infos sur votre portable</span></div></td>
    </tr>
    <tr bgcolor="#000000">
      <td width="310" class="Style1"><div align="left">Votre numero de t&eacute;l&eacute;phone portable: </div></td>
      <td width="50">
        <div align="center">
          <input name="numero" type="text" id="numero" value="06" size="20" maxlength="10">
        </div></td></tr>
    <tr bgcolor="#000000">
      <td height="20" colspan="2"><div align="center"><span class="Style4">
        Inscription
              <input name="champ7" type="radio" value="inscription" checked>
              <br>
              Desinscription
              <input type="radio" name="champ7" value="Desinscription">
</span></div></td>
    </tr>
    <tr bgcolor="#000000">
      <td height="20" colspan="2"><div align="center">
          <input name="Submit" type="submit" class="Style9" value="Valider">
      </div></td>
    </tr>
</table>
</body>
</html>


.php :

<!-- DEBUT DU SCRIPT  sms.php-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
$MailTo = "monmail@monsite.com"; //adresse &agrave; laquelle sera envoy&eacute; le contenu du formulaire
$MailSubject = "Info GSM de lesite.net"; //texte qui va figurer dans le champ "sujet" du email
$MailHeader = "From: lesiteGSM <contact@lesite.net>"; //adresse email qui va figurer dans le champ "exp&eacute;diteur" du email et qui peut &ecirc;tre remplac&eacute; par la variable "$champx" ("$champ4").

/* Les routines suivantes permettent &agrave; chacune des variables de prendre la valeur des champs du formulaire et de les stocker ensuite dans la variable globale MailBody qui constituera le corps du message */

$Envoi = 1; //initialisation de la variable envoi &agrave; 1

if ($numero == "06"){ //nom du champ1
echo("<p align=\"center\">Vous n'avez pas compl&eacute;t&eacute; le champ numero<br>"); //message qui s'affiche si le visiteur n'a pas rempli ce champ
$Envoi = 0; //si le champ1 n'a pas &eacute;t&eacute; rempli, la variable envoi prend la valeur de 0
}
else {
$MailBody .= "Bonjour,\n\nVous venez de recevoir une info concernant le numero : $numero\n"; //si le champ1 contient de l'information, elle est stock&eacute;e dans la variable MailBody
}
if ($champ7 == ""){
echo("Vous n'avez pas pr&eacute;cis&eacute; votre choix &agrave; la question 7.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Info : $champ7\n";
}

if ($Envoi == 0) echo("<p align=\"center\"><a href=\"sms.htm\"><strong>Retour</strong></a></p>");

//Envoi du message

if ($Envoi == 1) { //v&eacute;rification que la variable envoi est bien &agrave; 1
mail($MailTo, $MailSubject, $MailBody, $MailHeader); //envoi du message
echo("<p align=\"center\">Informations enregistr&eacute;es."); echo("<p align=\"center\"><a href=\"sms.htm\"><strong>Retour</strong></a></p>"); //affichage d'un message de confirmation.
}
?>

</body>
</html>
<!-- FIN DU SCRIPT sms.php-->


Le truc c'est que ce script fonctionne sur certains sites mais pas d'autres, j'ai même testé avec les adresses "absolus" sans utiliser le nom de domaine :

- http://s0000000000.onlinehome.fr/hebergement/mon-site.com/sms.htm > fonctionne
- http://s0000000000.onlinehome.fr/hebergement/pizzamachin.fr/sms.htm > ne fonctionne pas

Cela n'a rien à voir avec le fait que le dossier a ".com", ".net" ou ".fr".
Rien à voir avec le "-" ou sans... le nombre de caractère...

Je ne comprends vraiment pas !

J'ai envoyé un mail à 1and1, la réponse "Nous vous informons que 1&1 Internet SARL ne propose aucune assistance dans la conception ou la modification de scripts pour vos sites internet." Pourtant, c'est bien de leur coté qu'il y a eu du changement, puisque je n'ai pas changé le script depuis plus de 2 ans.

Voilà, si l'un d'entre vous voit d'où pourrait venir le problème.

Merci
Modifié par Alvin23 (06 Apr 2011 - 17:20)
Bonjour, et Désolée, mais ton PHP est remplie de fautes de syntaxe
Il te faut relire ligne par ligne et en plus compléte
<? par <?php devenu obligatoire
Pour t'aider retires toutes remarques // etc .......
et /* */
Le reste doit étre strictement concaténé. Et controlé
Modifié par Christele (06 Apr 2011 - 22:01)
Oups, le truc c'est que c'est un PHP que j'avais trouvé sur un forum car moi et le PHP Smiley biggol

Donc là, trouver des fautes, ça va être compliqué !


Je vais chercher un nouveau script, je pense que se sera mieux Smiley cligne