Kob-One
51328 créatifs inscrits sur la plateforme KobOne

[Résolu] - Formulaire PHP > Je m'arrache les cheuveux

Toutes vos questions concernant les formations, tarifs, salaires pratiqués par les webdesigners et le multimédia en général. Que vous soyez freelances, salariés, en portage salarial partagez vos expériencespersonnelles !

[Résolu] - Formulaire PHP > Je m'arrache les cheuveux

Message09/03/2010 20:40

oups, mais valider me dis pas si mon français est correct ou pas pfft :-D
houba
houba

Rang 8
 
Messages: 664
Inscription: Mer 20 Oct 2010 10:55
Julien Berlemont - développeur web - http://www.jberlemont.fr en ce moment en CDI dév delphi / C# ;)

Message11/03/2010 10:46

Ca avance j'ai réussis à faire quelque chose de cohérent, tout est bien envoyé au bon endroit au bon moment avec mes messages d'erreurs.

Le piti problème c'est que je n'arrive pas à afficher un message de validation comme "Champs manquant" mais "Votre réservation à bien était pris en compte" et un autre hic, quand les champs sont manquant et que je valide ça m'efface ce qui sont bien remplis.

Merci encore de votre investissement sur mon problème, encore une fois merci à la communauté KobOne.

Les "if(isset($_POST["date1"]){ " de cajoline mon sauver la vie :p
Un grand merci à tout les deux !
CreaCube
CreaCube

Rang 4
 
Messages: 60
Inscription: Mer 20 Oct 2010 10:55
Charlie • www.crea-cube.fr

Message11/03/2010 16:46

quand les champs sont manquant et que je valide ça m'efface ce qui sont bien remplis.

les 3 conditions sur chaque champs dont j'ai parlé, c'était :

si le visiteur vient pour la premiere fois:
-> affiche champs vide
sinon, si le visiteur à déjà envoyé le formulaire:
-> si le champs est vide:
--> msg d'erreur + champs input vide
-> si il est remplis:
--> affiche input + la valeur de l'user

Et non, ça ne les efface pas, tu envois juste des champs vide, faudrait les remplir.

houba
houba
houba

Rang 8
 
Messages: 664
Inscription: Mer 20 Oct 2010 10:55
Julien Berlemont - développeur web - http://www.jberlemont.fr en ce moment en CDI dév delphi / C# ;)

Message12/03/2010 00:19

Citation : CreaCube 

Ca avance j'ai réussis à faire quelque chose de cohérent, tout est bien envoyé au bon endroit au bon moment avec mes messages d'erreurs.

Le piti problème c'est que je n'arrive pas à afficher un message de validation comme "Champs manquant" mais "Votre réservation à bien était pris en compte" et un autre hic, quand les champs sont manquant et que je valide ça m'efface ce qui sont bien remplis.



Alors enfaite il faut que tu récupères les variables envoyés dans tes input pour que la valeur reste affichée en mettant juste dans les input
value = "<?php echo $_POST['nom'] ?>" et pour tous les champs $_POST['le_nom_input']
et tu devrais récupérer tes variables.
Cajoline
Cajoline

Rang 4
 
Messages: 43
Inscription: Mer 20 Oct 2010 10:55

Message12/03/2010 20:10

Vous êtent M-A-G-N-I-F-I-Q-U-E, je devrais vous envoyer une participation au bénéfices ( heu ... peut être après avoir payer le loyer :p ), tellement vous m'avez aider à me sortir de cette purée de code.

Pour revenir à vos messages sur la logique du code, je fait et après je réfléchis donc c'est un peut dur de m'en sortir ( et dans la vie aussi :( ( peut être la jeunesse )), ca fait peut de temps aussi que je pratique le PHP donc en plus de sa je ne connaît pas les syntaxes par coeur, et même en cherchant sur la toile ( avec ma méthode mon code devient un peut unique :D ) donc dur dur de trouver une solution !

Grace à vous je résout mes problèmes un par un, MAIS ! il m'en reste un petitou encore :-(
Quand j'envoie mon formulaire tous s'envoie nikel, mais le problème c'est que les champs reste remplis ( sûrement dus a la solution précédente et mon code en vrac ).

Je voudrais donc que une fois envoyé les champs s'efface et un message de validation apparaisse :( ?

Voici l'évolution du code PHP :

<?php
$msg_ok= "Votre résérvation est envoyé !";
$mail2 = "contact@crea-cube.fr";
define('MAIL_SUJET','Confirmation de votre réservation sur www.lesepilobes.fr');
define('SUJET','RESERVATION RECU DU SITE WWW.LESEPILOBES.FR');


// vérification des champs
if (isset($_POST['date1']))
if (empty($_POST['date1']))
$message_1= "Date d'arrivé";
if (isset($_POST['date2']))
if (empty($_POST['date2']))
$message_2= "Date de départ";
if (isset($_POST['mme']))
if (empty($_POST['mme']))
$message_3= "Votre civilité";
if (isset($_POST['nom']))
if (empty($_POST['nom']))
$message_4= "Votre nom";
if (isset($_POST['prenom']))
if (empty($_POST['prenom']))
$message_5= "Votre Prénom";
if (isset($_POST['adresse']))
if (empty($_POST['adresse']))
$message_6= "Votre adresse";
if (isset($_POST['cp']))
if (empty($_POST['cp']))
$message_7= "Votre CP";
if (isset($_POST['ville']))
if (empty($_POST['ville']))
$message_8= "Votre ville";
if (isset($_POST['tel']))
if (empty($_POST['tel']))
$message_9= "Votre téléphone";
if (isset($_POST['mail']))
if (empty($_POST['mail']))
$message_10= "Votre mail";

if (isset($_POST['date1']))
if (empty($_POST['date1']))
$msg_11= "VEUILLEZ REMPLIR LES CHAMPS ROUGE";

if (isset($_POST['date2']))
if (empty($_POST['date2']))
$msg_11= "VEUILLEZ REMPLIR LES CHAMPS ROUGE";

if (isset($_POST['mme']))
if (empty($_POST['mme']))
$msg_11= "VEUILLEZ REMPLIR LES CHAMPS ROUGE";

if (isset($_POST['nom']))
if (empty($_POST['nom']))
$msg_11= "VEUILLEZ REMPLIR LES CHAMPS ROUGE";

if (isset($_POST['prenom']))
if (empty($_POST['prenom']))
$msg_11= "VEUILLEZ REMPLIR LES CHAMPS ROUGE";

if (isset($_POST['adresse']))
if (empty($_POST['adresse']))
$msg_11= "VEUILLEZ REMPLIR LES CHAMPS ROUGE";

if (isset($_POST['cp']))
if (empty($_POST['cp']))
$msg_11= "VEUILLEZ REMPLIR LES CHAMPS ROUGE";

if (isset($_POST['ville']))
if (empty($_POST['ville']))
$msg_11= "VEUILLEZ REMPLIR LES CHAMPS ROUGE";

if (isset($_POST['tel']))
if (empty($_POST['tel']))
$msg_11= "VEUILLEZ REMPLIR LES CHAMPS ROUGE";

if (isset($_POST['mail']))
if (empty($_POST['mail']))
$msg_11= "VEUILLEZ REMPLIR LES CHAMPS ROUGE";


//Mail de confirmation gérant
$sujet="RESERVATION RECU DU SITE WWW.LESEPILOBES.FR";
$message2="MESSAGE AUTOMATIQUE //// RÉSERVATION RECUS DU $date1 AU $date2 ////

COORDONÉES DE LA PERSONNE QUI VIENT DE RESERVER
-----------------------------------------------
$mme $nom $prenom
$adresse
$com
$cp
$ville
$tel
$mail
-----------------------------------------------

PENSEZ À RAPPELER POUR CONFIRMER !


";
$headers = "!!from:!! RESERVATION RECUSn";
$headers2 = "!!from:!! Les Épilobesn";






// Mail client
$mail_corps = "Bonjour $mme $nom et bienvenue aux Épilobes";
$mail_corps .= "
Vous venez de réservez votre séjour sur le site www.lesepilobes.fr
du $date1 au $date2 et nous vous en remercions.

Voici un récapitulatif de vos coordonées :
-----------------------------------------------
$mme $nom $prenom
$adresse
$com
$cp
$ville
$tel
$mail
-----------------------------------------------

Nous prendrons contact avec vous dans les plus brefs délais pour confirmer la réservation

Un accompte de 30% du montant de la réservation
vous seras demander par chèque à l'ordre des Épilobes, envoyé à :

Les Épilobes
Le desert en valjouffrey
38740 LE DÉSERT EN VALJOUFFREY

Nous nous feront un plaisir de vous accueillir au desert en Valjouffrey
le $date1, dans l'attente de vous reçevoir.

LES ÉPILOBES • contact@lesepilobes.frwww.lesepilobes.fr

//// CE MESSAGE EST UN MESSAGE AUTOMATIQUE ENVOYÉ DEPUIS LE SITE
DE LA CHAMBRE D'HÔTE WWW.LESEPILOBES.FR, SUITE À LA RÉSERVATION DE VOTRE SÉJOUR.
SI CE MESSAGE NE VOUS EST PAS ADRESSÉ MERCI DE NE PAS EN TENIR COMPTE.
CE MESSAGE EST ENVOYÉ AUTOMATIQUEMENT, MERCI DE NE PAS RÉPONDRE. ////";

// envoi du mail
if (mail($mail,MAIL_SUJET,$mail_corps,$headers2))

mail($mail2,SUJET,$message2,$headers);


?>


Et de mon formulaire :
EDIT CA FOUS LE BORDEL


Je vient de m'apercevoir que je n'est pas de début de balise ?!
Et si je la met ça ne m'affiche plus les message des champs manquant ?!
On va faire sans ça fonctionne très bien :p


Et la page de test :

http://www.lesepilobes.fr/client/lesepi ... mmaire.php

Faut avoir du courage :-o

Message édité par : CreaCube / 12-03-2010 20:12

Message édité par : CreaCube / 12-03-2010 20:13

Message édité par : CreaCube / 12-03-2010 20:16

Message édité par : CreaCube / 12-03-2010 20:18
CreaCube
CreaCube

Rang 4
 
Messages: 60
Inscription: Mer 20 Oct 2010 10:55
Charlie • www.crea-cube.fr

Message13/03/2010 13:27

Ouais le code n'ai pas du tout optimisé
tu pourrais faire ça c'est pour un peu optimisé ton code

Citation :
<?php

$msg_ok= "Votre résérvation est envoyé !";
$mail2 = "contact@crea-cube.fr";
define('MAIL_SUJET','Confirmation de votre réservation sur www.lesepilobes.fr');
define('SUJET','RESERVATION RECU DU SITE WWW.LESEPILOBES.FR');

// Initialisation tableau pour ranger les variables messages d'erreur;
$messages = array("Date d'arrivé","Date de départ","Votre civilité", "Votre nom", "Votre Prénom","Votre adresse", "Votre CP", "Votre ville",
"Votre téléphone","Votre mail");
//assigner les valeur du tableau dans les variables
list($message_1, $message_2, $message_3, $message_4, $message_5, $message_6, $message_7,$message_8, $message_9, $message_10) = $messages;


// verification dans le tableau $_POST il y'a au moins 1 resultat et pas plus de 10 et que les champs remplis
if(count($_POST)!== 0 && count($_POST)< 10 || empty($_POST['date1']) || empty($_POST['date2']) || empty($_POST['mme']) || empty($_POST['nom']) || empty($_POST['prenom']) || empty($_POST['adresse'])
|| empty($_POST['cp']) || empty($_POST['ville']) || empty($_POST['tel']) || empty($_POST['mail']) )

{

// le formulaire avec les messages devant chaque input $message_1, $message_2, etc... et les value = $_POST['date'];

}else{

unset($_POST);

// le formulaire sans les messages et sans l'attibut value;


}

// message envoyé
echo $msg_ok;

?>


Message édité par : Cajoline / 13-03-2010 13:30
Cajoline
Cajoline

Rang 4
 
Messages: 43
Inscription: Mer 20 Oct 2010 10:55

Message13/03/2010 13:32

Nan, mais là, c'est pas possible. Personne ne fait avant d'apprendre, jeune ou pas, on s'improvise pas dév en lisant 3 tutos.

Dans tout langage de programmation, tu as les variables, les fonctions, les conditions, les boucles et les opérateurs (et je parle pas des objets). Faut commencer par bien comprendre à quoi tout ça sert avant toute choses.

J'ai commencé PHP en 2002, mais j'ai appris les bases avant tout, c'est un langage qui s'apprend vite, quand on commence par le début. Contrairement au pure AS3 où là il faut déjà connaitre un tas de choses avant de se lancer.

Met des sous dans un bouquin PHP, Car tes questions ne porte pas sur le langage lui même mais sur comment programmer. Et arrête de chercher des bouts de code à copier coller, c'est la meilleur façon de pas progresser..

houba
houba
houba

Rang 8
 
Messages: 664
Inscription: Mer 20 Oct 2010 10:55
Julien Berlemont - développeur web - http://www.jberlemont.fr en ce moment en CDI dév delphi / C# ;)

Message13/03/2010 15:33

En faite c'est vrai qu'il faut mieux que tu te penches sur la logique du code.
ça te permettra de progresser tout en sachant ce que tu fais et de pouvoir corriger
tes propres erreurs dans ton code.

Bon courage :=!


Message édité par : Cajoline / 13-03-2010 18:09
Cajoline
Cajoline

Rang 4
 
Messages: 43
Inscription: Mer 20 Oct 2010 10:55

Message14/04/2010 03:29

Merci à Cajoline, Hoba et les personnes qui on participé à l'évolution de mon projet des Épilobes, pour vos conseils qui m'ont était très cher !

Le site est maintenant en ligne et je clos le sujet.

Encore merci.
CreaCube
CreaCube

Rang 4
 
Messages: 60
Inscription: Mer 20 Oct 2010 10:55
Charlie • www.crea-cube.fr

Retourner vers Forum général

 

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

 

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 6 invités

 
 
Catégories
 
Dernières contributions sur le forum