Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: webgraphik le le 14-10-2011 a 14:27:59

Titre: Problème avec formulaire PHP
Posté par: webgraphik le le 14-10-2011 a 14:27:59

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,

Titre: Re:Problème avec formulaire PHP
Posté par: Pad le le 14-10-2011 a 15:14:28

pourrais-tu nous mettre le code de ce formulaire qui pose problème ?

Titre: Re:Problème avec formulaire PHP
Posté par: webgraphik le le 14-10-2011 a 15:23:22

Impossible pour moi de poster mon code, j'ai un message d'erreur me disant qu'il est trop long .... :(

Titre: Re:Problème avec formulaire PHP
Posté par: Pad le le 14-10-2011 a 16:10:55

envoi la partie correspondante au problème !

Titre: Re:Problème avec formulaire PHP
Posté par: webgraphik le le 14-10-2011 a 20:52:04

Partie du traitement du 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="artgraphy@free.fr";
/* A PERSONNALISER ! adresse du destinataire à laquelle on envoie le message !! */

$expediteur="artgraphy@free.fr";
/* A PERSONNALISER ! adresse de l'expediteur (ici on remet pr ns artgraphy*/

$sujet="Devis via le website Artgraphy";
/* 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 Artgraphy";

$message = "Bonjour,

Merci pour votre message, nous vous répondrons dans les meilleurs délais.

Cordialement

Artgraphy";

/*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 Artgraphy</a></p>

</div>
</body>
</html>

Titre: Re:Problème avec formulaire PHP
Posté par: CidMontana le le 20-10-2011 a 18:55:21

Si j'ai bien compris ton probleme, ta condition :

Code:
if (isset($email) && $email!="" && isset($nom) && $nom!="" && isset($tel) && $tel!="" && isset($activite) && $activite!="" && @$_POST["pass"] == "czych")

Ne peut etre remplie même si tous les champs ont été remplis.

Ce n'est peut etre pas ça, mais j'utilise toujours des simples quotes ( ' ) dans mes variables $_POST['blabla']

Comment récuperes tu les variables $nom, $email, $tel, $activite?


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.