Problème avec formulaire en PHP

Problème avec formulaire en PHP - PHP - Programmation

Marsh Posté le 14-10-2011 à 14:30:01    

Bonjour,
 
Je rencontre actuellement un problème avec le formulaire de mon site en ligne.
Je suis chez l'hébergeur 1*1.
 
Voici le problème :
Quand PHP 4 (version de php) est sélectionné chez mon hébergeur le formulaire s'envoie directement sans problème. Par contre, quand je sélectionne PHP 5 rien ne va plus. Le formulaire refuse de partir. Il me mentionne de remplir tous les champs obligatoires alors que tous est OK de ce coté là.  
 
J'ai contacté mon hébergeur mais il n'a pas pu me donner la procédure pouvant résoudre mon problème.
 
J'ai tenté aussi de faire un fichier .htaccess mais rien ne change la donne.
 
Du coup, si je veux que mon formulaire reste fonctionnel, il me faut rester en PHP4 et non PHP5 alors que je sais qu'ail vaut mieux à présent fonctionner sous PHP5.
 
Je vous remercie par avance de vos conseils.
 
Je peux au besoin vous joindre le code de mon formulaire.
 
Au plaisir,

Reply

Marsh Posté le 14-10-2011 à 14:30:01   

Reply

Marsh Posté le 14-10-2011 à 14:33:10    

Il faudrait effectivement le code du formulaire. Ça dépend à tout les coups de la manière dont il est codé, s'il utilise des trucs dépréciés ou supprimés en PHP5.

Reply

Marsh Posté le 14-10-2011 à 14:35:45    

Merci pour votre rapide retour. Faut-il que je vous post juste le code concernant le traitement du formulaire en question ? Ou le code concernant le formulaire + traitement ?

Reply

Marsh Posté le 14-10-2011 à 14:42:08    

Voici le code concernant le traitement de mon formulaire
 
 
 
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859">
<title>Message</title><!--titre de la page-->
 
<!--on appelle les fichiers css dont on a besoin-->
 
 
</head>
<body>  
 
<div id="global_contenu">
 
 
 
 
 
 
<?php
/* DEBUT DE L'EDITION */
 
$destinataire="monadresse@mondomaine.fr";
/* A PERSONNALISER ! adresse du destinataire à laquelle on envoie le message !! */
 
$expediteur="monadresse@mondomaine.fr";
/* A PERSONNALISER ! adresse de l'expediteur (ici on remet pr ns */
 
$sujet="Devis";
/* A PERSONNALISER ! sujet du message qui sera dans la boite du destinataire */
 
$message="Les données suivantes ont été saisies par le client :\n\n";
/* A PERSONNALISER ! phrase d'intro du message */
 
/* FIN DE L'EDITION */
 
 
 
 
/* La boucle lit les paires attribut-valeur : */
foreach($_POST as $name=> $value) {
/* Toutes les données sont stockées dans $message : */
$message.="$name=$value\n"; // Forme courte de la concaténation
}
 
 
/* TESTE d'existence !! */
if (isset($email) && $email!="" && isset($nom) && $nom!="" && isset($tel) && $tel!="" && isset($activite) && $activite!="" && @$_POST["pass"] == "czych" ) {  
/*
Les noms des variables correspondent exactement aux noms (name) des inputs ds le form html
Respectez donc les minuscules et majuscules
On teste si les champs st bien définis et non vides car on les veut obligatoires
On peut mettre autant de variables(correspondant aux champs des inputs) que l'on veut rendre obligatoires
 
@$_POST["pass"] == "czych"
Ceci correspondant au mot de passe que nous demandons ds le form html
*/
 
/* ON ENVOIE !!*/
/* On active alors la fonction d'expédition mail() */
/* !! on met les variables ds l'odre : destinataire, sujet, message, expediteur */
/* from definit l'expediteur du mail qui apparaitra dans la boite mail */
if(mail($destinataire, $sujet, $message, "From: $expediteur" )) {
 
 
 
 
 
// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
{
        // Testons si le fichier n'est pas trop gros
        if ($_FILES['monfichier']['size'] <= 100000000)
        {
                // Testons si l'extension est autorisée
                $infosfichier = pathinfo($_FILES['monfichier']['name']);
                $extension_upload = $infosfichier['extension'];
                $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png' , 'pdf' , 'doc' , 'docx' , 'PDF');
                if (in_array($extension_upload, $extensions_autorisees))
                {
                        // On peut valider le fichier et le stocker définitivement
                        move_uploaded_file($_FILES['monfichier']['tmp_name'], 'pieces_jointes_clients/' . basename($_FILES['monfichier']['name']));
                        echo "L'envoi de vos pièces jointes a bien été effectué !";
                }
        }
}
 
 
 
// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($_FILES['monfichier2']) AND $_FILES['monfichier2']['error'] == 0)
{
        // Testons si le fichier n'est pas trop gros
        if ($_FILES['monfichier2']['size'] <= 100000000)
        {
                // Testons si l'extension est autorisée
                $infosfichier = pathinfo($_FILES['monfichier2']['name']);
                $extension_upload = $infosfichier['extension'];
                $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png' , 'pdf' , 'doc' , 'docx' , 'PDF');
                if (in_array($extension_upload, $extensions_autorisees))
                {
                        // On peut valider le fichier et le stocker définitivement
                        move_uploaded_file($_FILES['monfichier2']['tmp_name'], 'pieces_jointes_clients/' . basename($_FILES['monfichier2']['name']));
                        echo "";
                }
        }
}
 
 
 
 
 
 
 
 
 
 
 
/* mail() a fonctionné ? On affiche alors à l'utilisateur les lignes suivantes */
echo "<p>Votre message a bien &eacute;t&eacute; envoy&eacute; !</p>\n"; /* A personnaliser */
echo "<p>Une r&eacute;ponse vous sera donn&eacute;e dans un d&eacute;lai de 24h à 48h.</p>\n";/* A personnaliser */
echo "<p>Si toutefois vous ne recevez aucun retour, merci de nous recontacter par e-mail ou par t&eacute;l&eacute;phone.</p>\n";/* A personnaliser */
 
 
 
/* REPONSE AUTOMATIQUE */
$headers="From: ".$expediteur;
 
$sujet="Reponse automatique de xxxxxx";
 
$message = "Bonjour,
 
Merci pour votre message, nous vous répondrons dans les meilleurs délais.
 
Cordialement
";
 
/*on envoie ! : destinataire, titre, message, expediteur*/
mail($email,$sujet,$message,$headers);
/* email=email du client (ci-dessus)=nom de l'input email*/
/*FIN DE REPONSE AUTOMATIQUE*/
 
 
 
}
/* Sinon un message d'erreur est affiche; : */
else {  
echo "<p>Le message n'a malheureusement pas pu &ecirc;tre envoy&eacute;.</p>\n"; /* a personnaliser */
}
} // fermeture de la fonction if externe
/* Branche else, lorsque la variable $Mail n'est pas définie : */
else {
echo "<p>Merci de saisir les champs obligatoires !</p>\n"; /* a personnaliser */
}
 
 
?>  
 
 
 
 
<p id="retour"><a href="contact.php">retour au site xxxxx</a></p>
 
</div>
</body>
</html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Reply

Marsh Posté le 14-10-2011 à 15:38:02    

register_global est à on avec php4 et à off avec php5
 
T'as chopé ce code où ?
Il est bien crade.


---------------
La connerie est la décontraction de l'intelligence.
Reply

Marsh Posté le 14-10-2011 à 20:50:31    

Une solution pour aider ?

Reply

Marsh Posté le 14-10-2011 à 20:54:25    

En quoi ce code est crade ?

Reply

Marsh Posté le 14-10-2011 à 20:56:47    

Ah pour la réponse de savoir où j'ai chopé ce code, c'est le site du zero pour une bonne partie.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed