Bouton de confirmation et envoi de formulaire

Répondre
Jexus11
le 30/04/2014 à 17:14
Jexus11
Bonjour,
Je viens vers vous en cette fin d'après midi pour quérir votre aide.
Je suis en train de réaliser un formulaire d'inscription pour médecins pour la boite dans laquelle je suis en stage.
J'ai déjà réussi à créer tout le formulaire, les différentes étapes, le bouton retour, les messages d'erreurs au cas où...
Mais maintenant je bloque. En faite, je voudrais que sur la page "Récapitulatif", il y ai un bouton de confirmation qui envoie les données saisies dans ma base de données.
J'ai déjà une petite idée de la ligne pour la commande d'envoi, mais je n'ai aucune idée de comment faire mon bouton de confirmation, si je dois créer un form juste pour lui sur la page récap' ou quoi.
Un petit coup de main siouplé? =)


Voilà mon php:
medecin.php
<?php 
<?php
if(!isset($_GET['etape'])){
?>
<!-- Infos perso -->
<fieldset>
<legend>Renseignez vos informations personnelles</legend>
<form action="medecin.php?etape=2" method="post" name="registerDoc" id="registerDoc">
<input type="text" placeholder="Nom" name="nomDoc" ><br />
<input type="text" placeholder="Prénom" name="prenomDoc" ><br />
<input type="text" placeholder="Fonction/Spécialité" name="specialiteDoc" ><br />
<input type="text" placeholder="Numéro de téléphone" name="telephoneDoc" ><br />
<input type="text" placeholder="Adresse mail" name="mailDoc" ><br />
<input type="button" value="Précédent" onclick="javascript:history.back(-1)">
<input type="submit" value="Suivant" name="envoieInfoDoc">
</form>
</fieldset>
<!-- /Infos perso -->
<?php
// Je vérifie que je suis bien à l'étape 2 et que les champs de la partie infos persos sont tous remplis
}elseif (( !isset($_GET['etape']) || $_GET['etape'] == 2 ) && ((isset($_POST['nomDoc']) && !empty($_POST['nomDoc'])) && (isset($_POST['prenomDoc']) && !empty($_POST['prenomDoc'])) && (isset($_POST['specialiteDoc']) && !empty($_POST['specialiteDoc'])) && (isset($_POST['telephoneDoc']) && !empty($_POST['telephoneDoc'])) && (isset($_POST['mailDoc']) && !empty($_POST['mailDoc'])))){

// Je stock les données persos dans des variables correspondants
$_SESSION['nomDoc']=$_POST['nomDoc'];
$_SESSION['prenomDoc']=$_POST['prenomDoc'];
$_SESSION['specialiteDoc']=$_POST['specialiteDoc'];
$_SESSION['telephoneDoc']=$_POST['telephoneDoc'];
$_SESSION['mailDoc']=$_POST['mailDoc'];
?>
<!-- Infos cabinet -->
<fieldset>
<legend>Renseignez les informations concernant votre cabinet</legend>
<form action="medecin.php?etape=3" method="post" name="registerCab" id="registerCab">
<input type="text" placeholder="Nom du cabinet" name="nomCab" ><br />
<input type="textarea" placeholder="Adresse" name="adresseCab" ><br />
<input type="text" placeholder="Code Postal" name="cpCab" ><br />
<input type="text" placeholder="Fonction/Spécialité" name="specialiteCab" ><br />
<input type="text" placeholder="Numéro de téléphone" name="telephoneCab" ><br />
<input type="button" value="Précédent" onclick="javascript:history.back(-1)">
<input type="submit" value="Suivant" name="envoieInfoCab">
</form>
</fieldset>
<!-- /Infos cabinet -->
<?php

// Si je ne suis pas à l'étape 2, Je vérifie que je suis bien à l'étape 3 et que les champs de la partie cabinet sont tous remplis
}elseif (( !isset($_GET['etape']) || $_GET['etape'] == 3 ) && ((isset($_POST['nomCab']) && !empty($_POST['nomCab'])) && (isset($_POST['adresseCab']) && !empty($_POST['adresseCab'])) && (isset($_POST['cpCab']) && !empty($_POST['cpCab'])) && (isset($_POST['specialiteCab']) && !empty($_POST['specialiteCab'])) && (isset($_POST['telephoneCab']) && !empty($_POST['telephoneCab'])))){

// Je stock les infos du cabinet dans des variables correspondantes
$_SESSION['nomCab']=$_POST['nomCab'];
$_SESSION['adresseCab']=$_POST['adresseCab'];
$_SESSION['cpCab']=$_POST['cpCab'];
$_SESSION['specialiteCab']=$_POST['specialiteCab'];
$_SESSION['telephoneCab']=$_POST['telephoneCab'];
?>

<!-- Je récapitule les informations saisies, pour éviter les erreurs -->
<h1>Récapitulatif de vos informations: </h1>


<?php
echo "Nom du médecin : ".$_SESSION['nomDoc']."<br />Prénom du médecin : ".$_SESSION['prenomDoc']."<br />Spécialité : ".$_SESSION['specialiteDoc']."<br />Téléphone du médecin : ".$_SESSION['telephoneDoc']."<br />Adresse mail du médecin : ".$_SESSION['mailDoc']."<br />";
echo "Nom du cabinet : ".$_SESSION['nomCab']."<br />Adresse du cabinet : ".$_SESSION['adresseCab']."<br />Code postal du cabinet : ".$_SESSION['cpCab']."<br />Spécialité du cabinet : ".$_SESSION['specialiteCab']."<br />Téléphone du abinet : ".$_SESSION['telephoneCab'];

// Si je ne suis ni à l'étape 2 ni à la 3 et/ou si un champ n'a pas été correctement rempli, je l'annonce au visieur
}else{
echo 'Erreur lors de la complétion du formulaire';
?>

<!-- Je lui permet de revenir en arrière pour corriger -->
<br /><input type="button" value="Retour au formulaire" onclick="javascript:history.back(-1)">

?>
?>



PS: Si quelqu'un pourrait aussi me donner un petit truc pour permettre une vérif en direct des champs, genre quand je clique sur le champ nom, je renseigne mon nom, et au moment ou je sort du champ, j'indique de suite à côté (avec un logo ou du texte) si le champ est correct. Un peu comme le font les champs de lephpfacile.

Merci =)
niconicochan
le 05/05/2014 à 18:54
niconicochan
Bonjour Jexus 11,

1) Le bouton de confirmation.

Moi, je créerais une nouvelle page de formulaire à la suite qui serait un récapitulatif
de tous les champs déjà remplis, avec comme valeur par défaut
les données qui viennent d'être remplies dans la base de données
(j'aurais du code php pour extraire les données déjà rentrées dans la base de données
et permettre leur affichage par défaut dans les champs).
Sur cette nouvelle page de formulaire, que je présenterais en fait à l'utilisateur
comme une page de confirmation, je proposerais simplement de changer les valeurs
qu'il souhaite modifier et de confirmer. J'appelerai alors mon bouton d'envoi
"confirmation" ou encore "veuillez confirmer les données".
Le code lié à ce bouton d'envoi consisterait à remplacer les anciennes données se trouvant
dans la base de données par celles tapées dans ma toute dernière page de formulaire
(ainsi, par exemple, si l'utilisateur ne change aucune données et confirme, ce qu'il se passerait
réellement est l'effacement des données tapées antérieurement et l'entrée des nouvelles
données sur la dernière page du formulaire, qui seraient en fait exactement les mêmes).

2)Requêtes désynchronisées.

Il te faut apprendre à créer des programmes AJAX pour faire ce que tu demandes dans ton tout dernier point (il faut que tu passes par des livres ou des tutoriels), mais plus précisément il te faudrait
des livres ou des tutoriels dans lesquels on explique la réalisation de ces programmes AJAX avec du code
php assurant l'interaction avec ta base de données.
Il te faut apprendre à créer une page avec un programme AJAX écrit en javascript dans lequel
tu crées un appel à ton programme php de la manière suivante à la ligne:
xmlHttpRequest.open("POST", "monprogramme.php", true);
Dans mon exemple j'appelle ma page de programme monprogramme.php
mais toi tu l'appelles comme tu veux.
Ton programme php va comporter ton code XML pour assurer les retours au navigateur
par instructions echo (php ne fonctionne que dans le sens CLIENT vers SERVEUR
pour assurer la protection des données envoyées).
LupusMic
le 06/05/2014 à 12:28
LupusMic
Il faut surtout qu'il demande à son maître de stage de lui expliquer comment faire, de le mettre sur la voie et de l'accompagner dans le développement du logiciel.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours