cs_sokebana
Messages postés48Date d'inscriptionjeudi 26 juin 2008StatutMembreDernière intervention21 mars 2009
-
8 nov. 2008 à 11:39
sitajony
Messages postés103Date d'inscriptionjeudi 6 novembre 2008StatutMembreDernière intervention 9 juin 2010
-
10 nov. 2008 à 17:21
Bonjour
je débute complètement et bien entendu je veux un formulaire bien trop complexe pour moi...
j'ai réussi à faire un formulaire simple avec que des zones de texte, ça marche (sauf message de validation soue IE, c'est ok sous ff)
le nouveau formulaire est celui là:
- des champs texte simple
- un champ avec menu déroulant pour un seul choix
- 4 champ parcourir pour uploader 4 image (que je voudrais recevoir par mail en piece jointe)
il me semble avoir bien fait la partie html... mais alors la partie PHP (et je n'y connais rien) c'est le gros bazard... je te colle des bouts de ci des morceaux de ça.... je n'ai pas réussi à trouver un tuto qui prend en compte ses trois parametres cités ci dessus.
quelqu'un aurait il un peu de temps à me donner pour me faire marcher ce machin ou m'envoyer vers un totu qui prend en compte tes ses parametres.
par avance un grand merci à celui/celle qui 'aidera
voici le html <form id= "form1" name="form1" enctype="multipart/form-data" method="post" action="formule_complete.php">
----
Titre - Accroche*,
,
----
Activité*,
,
----
Nom*,
,
----
Prenom*,
,
----
Mail*,
,
----
Adresse*,
,
----
Code postal*,
,
----
Ville*,
,
----
Téléphone*,
,
----
Portable*,
,
----
Site web*,
,
----
Gamme de prix* ( - et +),
,
----
Zone géographique couverte,
<label>
<select name="zone_activite" class="fond" id="zone activité">
onChange="chgpage(this.form)">
<option selected="selected">Choix de la zone </option>
<option value="no">Nord Ouest </option>
<option value="ne">Nord Est</option>
<option value="idf">Ile de France</option>
<option value="se">Sud Est</option>
<option value="so">Sud Ouest</option>
</select>
</label>,
<?php // récupération des variables
// donné un autre nom au variable pour évité les problèmes avec Register Global à ON
$formTitre = $_POST['titre'];
$formActivite = $_POST['activite'];
$formNom = $_POST['nom'];
$formPrenom = $_POST['prenom'];
$formMail = $_POST['mail'];
$formAdresse = $_POST['adresse'];
$formCode_postal = $_POST['code_postal'];
$formville = $_POST['ville'];
$formTelephone = $_POST['tel'];
$formPortable = $_POST['port'];
$formSite_web = $_POST['site_web'];
$formGamme_de_prix = $_POST['gamme_prix'];
$formZone_activite = $_POST['zone_activite'];
$formFichier = $_FILES['fichier'];
$formDescription = $_POST['description'];
if (isset($_FILES['image']))
{
//$_FILES existe
foreach ($_FILES['fichier']['name'] as $key => $value) {
$fichier=$value;//nom reel de l'image
$size=$_FILES['fichier']['size'][$key]; //poids de l'image en octets
$tmp=$_FILES['fichier']['tmp_name'][$key];//nom temporaire de l'image (sur le serveur)
$type=$_FILES['fichier']['type'][$key];//type de l'image
//On récupère la taille de l'image
list($width,$height)=getimagesize($tmp);
if (is_uploaded_file($tmp)) //permet de vérifier si le fichier a été uplodé via http
{
//vérification du type de l'img, son poids et sa taille
if ($type=="image/pjg" && $size<=100000 && $width<=600 && $height<=600 )
{// type mime gif, poids < à 20500 octets soit environ 20Ko, largeur hauteur 100px
//Pour supprimer les espaces dans les noms de fichiers car celà entraîne une erreur lorsque vous voulez l'afficher
$fichier = preg_replace ("` `i","",$fichier);//ligne facultative :)
//On vérifie s'il existe une image qui a le même nom dans le répertoire
if (file_exists('./images_up/'.$fichier))
{
//Le fichier existe on rajoute dans son nom le timestamp du moment pour le différencier de la première (comme cela on est sûr de ne pas avoir 2 images avec le même nom :) )
$nom_final= preg_replace("`.jpg`is",date("U").".jpg",$fichier);
}
else {
$nom_final=$fichier; //l'image n'existe pas on garde le même nom
}
//on déplace l'image dans le répertoire final
if (move_uploaded_file($tmp,'./images_up/'.$nom_final)) {
//Message indiquant que tout s'est bien passé
//Pour le test on affiche l'image
echo '';
echo '
';
}
else {
//l'image ne peut être déplacée, on supprime le fichier temporaire
@ unlink ($tmp);
echo 'L\'image n\'a pu être déplacée !';
}
}
else {
//Le type mime, ou la taille ou le poids est incorrect
echo 'Votre image a été rejetée (poids, taille ou type incorrect)';
}
}
}
}
echo '[javascript:history.back(); Retour]';
// pour éviter des erreurs de Notice dans le cas ou le champs est resté vide, on aurait pu mettre !
// $formMail = (!isset($_POST['mail']))?$_POST['mail']:'none';
// Dans le cas ou les variables sont destiné à allimenter un base de donné il faut toujours valider les valeurs pour éviter les problèmes d'injection ! cf Google
//En règle général on traite les variables avec les fonctions htmlentities, mysql_escape_string(),addslash() ...
// Dans l'exemple on va juste vérifier que le nom, le prenom et le mail soit pas vide.
if(!empty($formTitre) && !empty($formActivite) && !empty($formNom) && !empty($formPrenom) && !empty($formMail) && !empty($formAdresse) && !empty($formCode_Postal) && !empty($formVille) && !empty($formTelephone) &&!empty($formPortable) &&!empty($formSite_web) &&!empty($formGamme_prix) &&!empty ($formZone_activite) && !empty($Fichier) ){
//ok pas vide //on convertie les caractètres HTML du commentaire
$formDescription = htmlentities($formDescription);
//mise en forme du mail
$message = "$formNom $formPrenom soumet son inscription à l'annuaire -Formule complete- de l'espace mariage.\n \n ";
// on envois le mail http://fr.php.net/manual/fr/ref.mail.php // bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]] )
// ATTENTION en général vous n'avez pas de serveur de mail sur votre machine !
// à tester sur le net directment en cas de problème avec la fonction mail
if( mail('contact@sokebana.net','Nouvelle inscription -Formule complète- de l\'Espace Mariage',$message. "\n Activité:" .$formActivite. "\n Titre:".$formTitre. "\n Site web:" .$formSite_web. "\n Gamme de prix:" .$formGamme_prix. "\n \n Mail:" .$formMail "\n Adresse:".$formAdresse. "\n Code postal:".$formCode_postal. "\n Ville:".$formVille. "\n Telephone:".$formTelephone. "\n Portable".$formPortable. "\n Zone couverte".$formZone_activite. "\n fichier".$formFichier."\n \n Vignette:".$formFichier." \n" )" Description: " $formDescription"\n" ){
echo ('<title>Votre soumission est prise en compte</title>
<link href="style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
body {
background-repeat: no-repeat;
background:#321c0b;
color:#FFFFDD;
font-size:12px;
font-family:Verdana;
background-image: url(../photos-espace-mariage/fond-mariage.jpg);
}
Le seul espace mariage en France où les professionnels du mariage répondent à vos questions et vous guident tout au long des préparatifs de votre mariage
,
----
<!-- CSS Tabs -->
<li>Accueil</li>
<li>Conseils</li>
<li>Forum</li>
<li>A la Une</li>
<li>Coup de coeur</li>
<li>Prestataires</li>
<li>Appels d\'offre</li>
<li>Salons du mariage</li>
<li>Boite à outils</li>
sitajony
Messages postés103Date d'inscriptionjeudi 6 novembre 2008StatutMembreDernière intervention 9 juin 2010 9 nov. 2008 à 20:33
Je suis en train de commencer a retoucher ta source c'est bon tu peux enlever l'archive de ton serveur par contre je suis pas sur que j'aurais fini avant demain désolé il te faudrait la source quand?
cs_sokebana
Messages postés48Date d'inscriptionjeudi 26 juin 2008StatutMembreDernière intervention21 mars 2009 9 nov. 2008 à 20:41
je viens de tenter ça .$formDescription."\n")){ pour séparer le . de la ) et je me retrouve sans erreur mais avec merci de remplir tous les champs!!
donc c'est énorme!!
cs_sokebana
Messages postés48Date d'inscriptionjeudi 26 juin 2008StatutMembreDernière intervention21 mars 2009 9 nov. 2008 à 21:11
par contre il y a deux choses qui ne suivent pas:
- il up load 3 image sur 4 demandées
- et me dit de remplir ts les champs, je ne trouve bien sur pas l'erreur... j'ai mis les champs d'up load comme des champs à renseigner obligatoirement, donc je les ai enlevé pour test et il me le demande quand meme...
ce champs vide est il lié à la liste déroulante qui serait mal traitée sur php? je demande un traitement comme une zone de texte ordinaire, peut etre là l'erreur?
- enfin les fichiers sans ds le dossier up load mais n'arrivent en pj par mail, est ce normal?
Vous n’avez pas trouvé la réponse que vous recherchez ?
sitajony
Messages postés103Date d'inscriptionjeudi 6 novembre 2008StatutMembreDernière intervention 9 juin 2010 9 nov. 2008 à 21:41
J'ai avancé sur ta source peut être que tu la recevra dans une petite heure il ya encore quelque petit problemme il est vrai que il mettent que les champ ne sont pas tous remplis mais je crois savoir ou est l'erreur déjà il ya des grosse erreur au niveau de (exemple):
if(a=a) $erreur="a vaut pas a";
{
echo "a vaut bien a!";
}
j'ai pas compris pourquoi ta mis sa je pensais que sa marchait quand même mais a chaque upload sa met "Erreur dans le format, résolution... puis Upload réussi" XD C'est pas très précis lol
Je vais voir tout sa je te tiens au courant pour le sujet des pièce jointe je dois avouer que je n'est jamais fait sa encore mais deux trois clique sur google et je comprendrais rapidement bon je te tiens au courant si ya du nouveaux...
sitajony
Messages postés103Date d'inscriptionjeudi 6 novembre 2008StatutMembreDernière intervention 9 juin 2010 9 nov. 2008 à 21:48
Ah non j'ai rien dit c'est moi qui est mal lu désolé. Pour a propos du sujet "remplissez tout les champs" j'ai pas encore trouvé je te tient au courant...
cs_sokebana
Messages postés48Date d'inscriptionjeudi 26 juin 2008StatutMembreDernière intervention21 mars 2009 9 nov. 2008 à 21:52
je continue à nettoyer de mon coté, ça va etre chaud qaund je vais recevoir ton fichier corrigé pour retrouver mes erreurs s'il y en a que tu n'as pas vu
si y'a des trucs qui te semblent louchent ou incohérent c'est normal, je te laisse virer le surplus
pour les champs à renseigner j'ai tester en enlevant
&& !empty($formVille) && !empty($formTelephone) &&!empty($formPortable) &&!empty($formSite_web) &&!empty($formGamme_de_prix) &&!empty ($formZone_activite) && !empty($Fichier) && !empty($Fichier1)&& !empty($Fichie2)&& !empty($Fichier3) et ça passe
mais dès que rajoute ne serait ce que && !empty($formVille) i me dit que les chamsp ne sont aps tous renseignés, il y avait des errurs de majuscule (&& !empty($formville) et $formVille = $_POST['ville']; mas je ne sais pas si cela peut géner, en tout cas g corrigé et ça ne change pas
si tu as erreur ds le format c'est que tu ne respecte pas les formats qui doit etre jpg jpeg gif ou png, cette erreur je ne l'ai aps et je n'ai aps testé non plus avec des fichiers non acceptés!
qui peut le moins peut le plu s:D si ça marche c'est déjà bien lol
cs_sokebana
Messages postés48Date d'inscriptionjeudi 26 juin 2008StatutMembreDernière intervention21 mars 2009 9 nov. 2008 à 22:00
écoute je ne sais pas ce qu'à $formville, donc du coup je l'ai viré et j'ai fusionné code postal et ville ds le html
donc
$formCode_postal = $_POST['code_postal'];
$formVille = $_POST['ville'];
n'existent plus et sont remplacé par
$formCode_ville = $_POST['code_ville'];
sitajony
Messages postés103Date d'inscriptionjeudi 6 novembre 2008StatutMembreDernière intervention 9 juin 2010 9 nov. 2008 à 22:03
J'ai un problemme le mail ne s'envoie pas la fonction marche comme il retourne aucune erreur mais je ne recoit rien c'est peut être mon serveur qui doit beuger sinon je viens un instant de remarquer que ta décalé les nom (fichier, fichier 1...) pour le php et le formulaire ta mis "fichier1 fichier2..." je vais corriger et te dire si c'est mieux
sitajony
Messages postés103Date d'inscriptionjeudi 6 novembre 2008StatutMembreDernière intervention 9 juin 2010 9 nov. 2008 à 22:22
Je n'arrive toujours pas à comprendre pourquoi sa met veuillez remplir tout les champs...
Pour tant la condition est bonne (si ceci est remplis et cela et sa.... alors tout est bon...)
Je vais reregarder pour voir si j'ai rien oublier...
cs_sokebana
Messages postés48Date d'inscriptionjeudi 26 juin 2008StatutMembreDernière intervention21 mars 2009 9 nov. 2008 à 22:25
tu n'as pas du voir mon post ici ou je te disais:
--------------------------------------
écoute je ne sais pas ce qu'à $formville, donc du coup je l'ai viré et j'ai fusionné code postal et ville ds le html
donc
$formCode_postal = $_POST['code_postal'];
$formVille = $_POST['ville'];
n'existent plus et sont remplacé par
$formCode_ville = $_POST['code_ville'];
et hop
--------------------------------------
on va aps se faire c.. avec ce petit machin et ainsi ça me convient parfaitement!
sitajony
Messages postés103Date d'inscriptionjeudi 6 novembre 2008StatutMembreDernière intervention 9 juin 2010 9 nov. 2008 à 22:38
Le fait d'avoir changé $formVille par $formCode_ville me fait toujours la même erreur XD c'est seulement que la valeur du formulaire correspondant à la ville est stocker sur une autre variable...
C'est bon pour toi il n'ya plus l'erreur veuillez remplir tout les champs?
sitajony
Messages postés103Date d'inscriptionjeudi 6 novembre 2008StatutMembreDernière intervention 9 juin 2010 9 nov. 2008 à 22:52
Sa ne marche toujours pas avec moi.... C'est pas grave je vois que ta réussi a par les pièce jointe que je crois avoir vu un peu comment sa marche il faut ajouter sa:
mail($ton_mail,"Nouvelle inscription -Formule complète- de l'Espace Mariage",$message."\nActivité: ".$formActivite."\nTitre:".$formTitre."\nSite web: ".$formSite_web."\nGamme de prix: ".$formGamme_prix."\n\nMail: ".$formMail."\nAdresse: ".$formAdresse."\nCode postal:".$formCode_postal."\nVille: ".$formCode_ville."\nTelephone: ".$formTelephone."\nPortable: ".$formPortable."\nZone couverte: ".$formZone_activite."\nVignette: ".$formFichier."\nFichier1: ".$formFichier1."\nFichier2: ".$formFichier2."\nFichier3: ".$formFichier3."\nDescription: ".$formDescription,"From: contact@sokebana.net\r\nReply-To: contact@sokebana.net\nContent-Type:text/html;Content-Disposition: attachment; filename='$formFichier'")
Si $formFichier ne marche pas tape "uploads/$_FILES['fichier']['name']" je ne peux pas éssayer comme mon serveur bug et n'envoie aucun méssage... J'èspèque que demain a mon réveille je n'aurais pas une surprise dans ma boite mail avec tout les éssaies que j'ai fais sans rien avoir...
sitajony
Messages postés103Date d'inscriptionjeudi 6 novembre 2008StatutMembreDernière intervention 9 juin 2010 9 nov. 2008 à 22:53
XD c'est une sorte d'émoticone ce n'est pas un mot comme :) ou :D penche ta tête vers la gauche moi aussi je pensais que c'était le nom d'une mémoire amovible XD