Actualiser formulaire ss perdre infos saisies

Fermé
fouinetinou Messages postés 2 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 28 mai 2009 - 28 mai 2009 à 17:12
fouinetinou Messages postés 2 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 28 mai 2009 - 28 mai 2009 à 17:21
Bonjour,

alors, je vous presente mon probleme...
j'ai un formulaire de saisie (fichier nommé form1.php) avec des listes déroulantes. si la valeur souhaitée n'est pas dans la liste deroulante, je veux que l'utilisateur puisse en ajouter une. Il clique sur un lien qui l'amene vers un autre formulaire (une fenetre popup, form2.php), saisit la valeur puis clique sur un bouton pour la valider. A ce moment, form2.php se ferme et je voudrais que la page form1.php s'actualise, tout en conservant les données deja saisies dans le formulaire (pour moi c'est le plus important).
j'ai deja une bonne partie de code et pour être honnete, ca a marché ! sauf que j'ai fait une modification, que la modification a fait que ca n'a plus fonctionné et quand j'ai annulé ma modif, ca n'a pas remarché pour autant... de quoi être degoutée...
bref, si quelqu'un pouvait jeter un coup d'oeil a mon code et me dire ou se trouve le probleme, ca me rendrait grandement service ! Alors mon code consiste en :
- form1.php
<html>
<head>
<script>
function fensterOffnen(seite) {
	window.open(seite,"hinfugen", "menubar=no, status=no, scrollbars=no, width=500, height=400");
}
</script>
</head>
<body>
<form  name="ArtikelAblage" action="form1.php" method='post' enctype='multipart/form-data'>
Titre : <textarea name="titel" cols="50" rows="2"></textarea>
Source : 
   <select name="quelle">
	<option value="leer">Bitte auswählen.</option>
       <!-- Le PHP va chercher dans la DB, les valeurs qui seront affichées dans la liste deroulante-->
        <?php   
	#Connexion a la DB 
             include ("connect/connectDB.php");    
	    $neu = "SELECT * FROM `quellen` ORDER BY `Quellenbezeichnung` ASC";	
			$erg = mysql_query($neu);
			if (!$erg) {
  		exit('<p>Fehler beim Abruf aus der Datenbank!<br />'.
      'Error: ' . mysql_error() . '</p>');
			}
			else{ 
			$zeilen = mysql_num_rows($erg);
			$i = 0;
			while($i<$zeilen){
			$ID = mysql_result($erg, $i, 'qID');	
			$begrif = mysql_result($erg, $i, 'Quellenbezeichnung');			
			echo "<option value =".$ID.">".$begrif ."</option>";
			$i++;}
		}	
?>

<!-- Le lien pour ajouter une source -->
<a href="javascript:fensterOffnen('form2.php')" class="nav2">Ajouter une source</a><br>

<!-- Le code qui récupère les données saisies dans form2.php pour les insérer dans la DB-->
<?php
if (isset($_POST['anlegen']) && $_POST['quelle']==true){
        $quelle = $_POST['quelle'];
        $pruefe = "SELECT * FROM `quellen` WHERE `Quellenbezeichnung` ='$quelle'";
        $exsist= mysql_query($pruefe);
        $zeilen = mysql_num_rows($exsist);
    if ($zeilen!=0) {
    exit('<p class="kursiv2">Die Quelle besteht bereits.</p><p><a href="javascript:self.close();">zur&uuml;ck zu "Artikel anlegen"</a></p><p><a href="quelleneu.php">Neue Quelle anlegen.</a></p>');
    }
    
    
    $sql = "INSERT INTO `quellen` (`qID`, `Quellenbezeichnung`) VALUES ('', '$quelle')";

	        if (!mysql_query($sql)) {
                exit('<p class="kursiv2">Fehler beim Hinzuf&uuml;gen der Quelle: ' . mysql_error() . '</p>');
            }
             else {
                echo '<p class="kursiv2">Neue Quelle hinzugefügt</p>';
                    }
}
       
?>

   </select>
</form>
</body>
</html>


- form2.php
<html>
<head>
<script>
function refresh() {
	window.opener.location.reload();
	alert ("page onloadée, rechargement de form1");
	}
</script>
</head>
<body onUnload="javascript:refresh('form1.php')" onLoad="document.form.quelle.focus();">
<form name="form" action="artAblage.php" method='post'>
Nouvelle source: <input name="quelle" size="50">
<input type="submit" name="anlegen" value="Anlegen" onClick="self.close();">
</body>
</html>


Voila, chuis désolée, le code et un peu long et histoire de simplifier les noms en allemand... donc voila, avec ca, l'ajout d'une source fonctionne, le rafraîchissement de la page aussi, mais les champs deja saisis sont vidés... :(
J'attends donc votre aide avec grande impatience !
D'avance merci,
Fouinetinou

1 réponse

fouinetinou Messages postés 2 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 28 mai 2009 4
28 mai 2009 à 17:21
Bon, je me corrige par autoreponse parce que j'ai pas compris comment on pouvais faire la modif dans l'heure qui suit...
Dans form2.php, c'est pas artAblage.php mais form2.php qui'il faut lire dans l'action du formulaire...
chuis desolée, comme je simplifie le code...
4