IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Pertes des données après un submit


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut Pertes des données après un submit
    Bonjour.

    Sur une page ma_fiche_film.php quand je clique sur un lien je récupère l'id de mon enregistrement et j'affiche le détail sur une page film_modif.php.
    Sur cette page film_modif.php toutes les données sont affichées dans un formulaire 1. Il y a aussi un autre formulaire 2 qui permet d'actualiser une table acteurs.
    Quand je valide le formulaire 2 sur lequel j'ajoute un acteur, je perds toutes les données du formulaire 1.

    Comment je peux récupérer les infos du formulaire 1 quand je valide le formulaire 2.
    Le début de ma page film_modif où j'ai récupéré l'id du film ($_POST['modifier_mon_film']) et l'enregistrement d'un acteur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?php
    require ('connect.php');
    $message = "";
    if (!isset($_POST['modifier_mon_film'])){
    	echo "<p align='center'><font color='red'>Vous n'avez pas s&eacute;lectionn&eacute; le film à modifier</font></p>";
    }
    else if (isset($_POST['modifier_mon_film'])){
    	$choix=$_POST['modifier_mon_film'];
    	$sql = mysql_query('SELECT titres.* FROM titres WHERE titres.id_titre = '.$choix.'');
    	if (mysql_num_rows($sql) > 0)
    	{
    	   $res = mysql_fetch_array($sql);
    	   $idtitre = $res['id_titre'];
    	   $titre = stripslashes(htmlentities(trim($res['titre'])));
    	   $sortie = $res['sortie'];
    ....
    ici j'enregistre un nouvel acteur
    //enregistrement acteur
    if(isset($_POST['plus_nomact']))      $plus_nomact=$_POST['plus_nomact'];
    	else $plus_nomact = "";
    if(isset($_POST['plus_prenomact']))      $plus_prenomact=$_POST['plus_prenomact'];
    	else $plus_prenomact = "";
    if (!empty($_POST['plus_nomact']))
        	{
    	if (empty($message)){
    		$plus_nomact = stripslashes(htmlentities(trim(ucwords($plus_nomact))));
    		$plus_prenomact = stripslashes(htmlentities(trim(ucwords($plus_prenomact))));
        		$sql = "INSERT INTO acteurs(id_acteur, nom_act, prenom_act) 
    			VALUES('','$plus_nomact','$plus_prenomact')"; 
        		// insertion dans la table 
        		mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    	} 
    }
    Ensuite le formulaire avec les données du film
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    <div style="margin-left:170px">
    <form name="modif" method="post" action="index.php?page=film_modif">
    <table border ="0"><tr><td>
    <table border= "0" style="height:500px; background-color:#0099FF" cellpadding=1 cellspacing=0>
    <colgroup width='150'></colgroup>
    <colgroup width='500'></colgroup>
    	<tr>
    		<td colspan=3 align="center"><b>Modifier un film</b></td>
    	</tr>
    	<tr>
    		<td align="right">Titre : </td>
    		<td colsapn="2"><input type="text" name="titref" value="<?php echo $titre; ?>" style="width:467px" /></td>
    	</tr>
    	<tr>
    ...
    ici j'affiche les acteurs
    	<tr>
    		<!--- sélection des acteurs-->
    		<td align="right" >Avec : </td>
    		<td>
    		<?php
    
    		$sql = mysql_query('Select * From titres_acteurs WHERE id_titre = '.$choix.'');
    		$nombreligne = mysql_num_rows($sql);
    		$idact = "";
    		$idact1 = "";
    		$idact2 = "";
    		for ($i = 0; $i < $nombreligne; $i++)
    		{
    			if ($i == 0){
    				$idact = mysql_result($sql,$i,"id_acteur");
    			}
    			else if ($i == 1){
    				$idact1 = mysql_result($sql,$i,"id_acteur");
    			}
    			else if ($i == 2){
    				$idact2 = mysql_result($sql,$i,"id_acteur");
    			}
    		}
    		//1er acteur
    		echo "<select name='acteur1' style='width:150px;'>";
    		$sql = mysql_query('Select * From acteurs Order by prenom_act ASC',$connexion);
    		$nombreligne = mysql_num_rows($sql);
    		if ($idact == ""){
    			echo "<OPTION value=''></OPTION>";
    			for ($i = 0; $i < $nombreligne; $i++)
    			{
    				$idact = mysql_result($sql,$i,"id_acteur");
    				$prenom = stripslashes(htmlentities(trim(mysql_result($sql,$i,"prenom_act"))));
    				$nom = stripslashes(htmlentities(trim(mysql_result($sql,$i,"nom_act"))));
    				echo "<OPTION value='$idact'>$prenom  $nom</OPTION>";		
    			}
    		}
    		else {
    			for ($i = 0; $i < $nombreligne; $i++)
    			{
    				$idactbd = mysql_result($sql,$i,"id_acteur");
    				$prenom = stripslashes(htmlentities(trim(mysql_result($sql,$i,"prenom_act"))));
    				$nom = stripslashes(htmlentities(trim(mysql_result($sql,$i,"nom_act"))));
    				if ($idactbd == $idact) {
    					echo "<OPTION value='$idactbd' selected>$prenom  $nom</OPTION>";
    				}
    				else {
    					echo "<OPTION value='$idactbd'>$prenom  $nom</OPTION>";
    				}
    			}
    		}
    		echo '</select>';...
    Le formulaire où je saisi un nouvel acteur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <div id="mondiv3" class="hidden">
    <form name="acteurs" method="post" action="index.php?page=film_modif">
    <table border=0 style="width:250px; background-color:#CCFFCC">
    	<tr>
    		<td style="height:40px" valign="top" align="center" colspan=2><font color="#969696"><b>Ajouter un acteur/une actrice</b></td>
    	</tr>
    	<tr>
    		<td align="right">Nom : </td><td>&nbsp;&nbsp;<input type="text" name="plus_nomact" value=""></td>
    	</tr>
    	<tr>
    		<td align="right">Prénom : </td><td>&nbsp;&nbsp;<input type="text" name="plus_prenomact" value=""></td>
    	</tr>
    	<tr>
    		<td style="height:40px" align="center" colspan=2><input type="submit" name="valid4" value="Valider">
    		<input type="button" name="close" value="fermer" onclick="javascript:fermer('mondiv3');"></td></td>
    	</tr>
    </table>
    </form>
    </div>
    J'espère que mon explication et mon code sont clairs.

  2. #2
    Membre régulier Avatar de MikeV
    Profil pro
    Webmaster
    Inscrit en
    Mai 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2007
    Messages : 93
    Points : 86
    Points
    86
    Par défaut
    Est-ce que php te donne une erreur ?

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Non pas d'erreur signalée.

    Comme je perds $_POST['modifier_mon_film'] j'ai le message qui s'affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (!isset($_POST['modifier_mon_film'])){
    	echo "<p align='center'><font color='red'>Vous n'avez pas s&eacute;lectionn&eacute; le film à modifier</font></p>";
    }

  4. #4
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Bon j'ai pas mal ramé mais j'ai trouvé la solution !!!

  5. #5
    Membre régulier Avatar de MikeV
    Profil pro
    Webmaster
    Inscrit en
    Mai 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2007
    Messages : 93
    Points : 86
    Points
    86
    Par défaut
    je penses que les variables de sessions($_SESSIONS[]) règleraient ton problème, ainsi tes infos entrés dasn le formulaire1 serait gardés en mémoires..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Perte des données Cartes IGN après modification du contrat
    Par lbreton dans le forum IGN API Géoportail
    Réponses: 10
    Dernier message: 22/12/2014, 16h10
  2. Perte des données après une clic sur bouton
    Par bihakia89 dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 15/05/2012, 17h04
  3. Réponses: 3
    Dernier message: 11/04/2012, 10h55
  4. Réponses: 1
    Dernier message: 17/06/2008, 12h02
  5. [JTable] Perte des données
    Par david71 dans le forum Composants
    Réponses: 8
    Dernier message: 09/01/2005, 00h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo