Probleme php base de donnée

jarod955 -  
 Utilisateur anonyme -
Bonjour,

Salut a tous,
je rencontre un probleme. Je dois faire un formulaire de creation d'évenement une fois cliqué sur valider un recapitulatif apparait. Si le client valide alors ca s'inscrit sur la base de donnée, si il clique sur modifier il retourne sur le formulaire.
Sans le recapitulatif ca fonctionne mon formulaire s'inscrit bien sur la base de donnée, avec le reacap il trouve pas mes variables :
Mon recapitulatif
<form action="cible2.php" method="post">
<h1>Recapitulatif</h1>
Nom de l'évenement: <?php echo $_POST['nom']; ?></br>
Le type: <?php echo $_POST['type']; ?></br>
La branche: <?php echo $_POST['branche']; ?></br>
La lieu: <?php echo $_POST['lieu']; ?></br>
<h3 class="page-title5">Date de debut</h3></br>
Le <?php echo $_POST['jour']; ?> <?php echo $_POST['mois']; ?> <?php echo $_POST['annee']; ?> à <?php echo $_POST['heure']; ?> heures et <?php echo $_POST['minute']; ?> minutes.</br>
<h3 class="page-title5">Date de fin</h3></br>
Le <?php echo $_POST['jourfin']; ?> <?php echo $_POST['moisfin']; ?> <?php echo $_POST['anneefin']; ?> à <?php echo $_POST['heurefin']; ?> heures et <?php echo $_POST['minutefin']; ?> minutes.</br>
<h3 class="page-title5">Les catégories</h3></br>
Le nom de la catégorie: <?php echo $_POST['nomcategorie']; ?></br>
Le nombre de place(s): <?php echo $_POST['places']; ?></br>
Le prix: <?php echo $_POST['prix']; ?> €</br>
<button type="submit" name="ajout" class="btn">Valider</button></form>


Mon code php une fois cliqué sur bouton valider pour ecrire sur la base:
<?php 

	try

    {

        $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', array (PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'"));

    }

    catch (Exception $e)

    {

            die('Erreur : ' . $e->getMessage());

    }	

    $type = $_POST['type'];

    $branche = $_POST['branche'];

    $lieu = $_POST['lieu'];

    $date1 = $_POST['annee'].'-'.$_POST['mois'].'-'.$_POST['jour'].'-'.$_POST['heure'].'-'.$_POST['minute'];  
    $date2 = $_POST['anneefin'].'-'.$_POST['moisfin'].'-'.$_POST['jourfin'].'-'.$_POST['heurefin'].'-'.$_POST['minutefin'];   
    
   
    
    $nomcategorie = $_POST['nomcategorie'];
   
    $places = $_POST['places'];
    
    $prix = $_POST['prix'];

			if (isset($_POST['ajout'])){
			
		$bdd->exec("INSERT INTO evenement(nom, type, branche, lieu, datedebut, datefin, nomcategorie, places, prix)VALUES('$nom', '$type', '$branche', '$lieu', '$date1', '$date2', '$nomcategorie', '$places', '$prix')");
			}?>
			</article>
			<!-- /Article -->
		
			<!-- Sidebar -->
			
			<!-- /Sidebar -->

		</div>
	</div>	<!-- /container -->
	<?php

A voir également:

2 réponses

jarod955
 
merci mais je sais pas si tu as vraiment compris mon soucis ^^ . Quand je passe pas par la page recapitulatif et que je valide via un bouton a la fin de mon formulaire tout se passe bien. Mais j'aimerai utiliser une page recapitulatif afin que le client puisse modifier ou valider avant d'écrire sur la base. Et c'est la que mon probleme intervient. Je ne sais pas utiliser deux fois la variable $_POST. Suis-je clair ^^ ? merci
0
Utilisateur anonyme
 
Bonjour,

je me suis permis d'effacer mon message précédent puisque effectivement il n'apportait rien à la résolution de ton problème : (

Voiçi comment je procederai

dans un même fichier .php

<?php

if isset($_POST['ajout']) {

    // ton traitement d'ajout

}
else { 
?>
   // ton formulaire html de récapitulatif  ( action ='#' )

<?php
}
?>


ou en créant une variable de session par $_POST['xxx'] lorsque tu récupères tes données.

En espérant que ça puisse t'aider

cdt
0
jarod955
 
Ba enfait ca je comprends mais moi je veux juste savoir comment re applé des variables temporaire car je les appels une fois pour afficher le recap et je voudrais les rappler pour ecrire dans la base et quand jles appel une deuxieme fois ca fonctionne pas..
0
Utilisateur anonyme > jarod955
 
dans ce cas pourquoi ne passerais-tu pas par des variables de session ? Tes données seront accessibles et seront effacables avec un unset()

cdt
0
jarod955
 
peux tu me faire un exemple? je voulais faire passer mes variables sur lautre page avec la methode get jpense que c'est le meme principe non ?
0
Utilisateur anonyme
 
Dans ton formulaire de recap il n'y a aucun INPUT TYPE xxx, juste un bouton SUBMIT, c'est donc normal que ton $_POST soit vide lorsque tu arrives sur cible2.php ^^

Sur ta page de recap tu peux faire qque chose comme ça

Si tu souhaites que les données ne puissent pas être modifiées.

Nom de l'évenement : <input type='text' name= 'nom' value ="<?php echo $_POST['nom']; ?>"  disabled /></br>


Si tu souhaites que les données puissent être modifiées.

Nom de l'évenement : <input type='text' name= 'nom' value ="<?php echo $_POST['nom']; ?>" /></br>


cdt

En informatique 99% des problèmes se situent entre le fauteuil et le clavier
0