Rechercher : dans
Par :

Actualiser formulaire ss perdre infos saisies

Dernière réponse le 28 mai 2009 à 17:21:33 fouinetinou, le 28 mai 2009 à 17:12:58 
 Signaler ce message aux modérateurs

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
Configuration: Windows 2003
Firefox 3.0.10

Meilleures réponses pour « actualiser formulaire ss perdre infos saisies » dans :
Liste déroulante avec saisie semi automatique pour EXCEL VoirC'est une procédure qui demande un investissement personnel et qui n'est pas nécessairement facile à comprendre et à réaliser dès la première fois. Afin de rendre cette astuce facile à utiliser, nous allons employer les plages et les formules...
Formulaires en ligne - Les champs de saisie VoirQuelles données saisir ? Comment dois-je saisir l'information L'organisation des champs de saisie Séparer les champs de saisie L'organisation des champs et des titres La longueur des champs Quelles données saisir ? Sur la plupart des...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
Servlets - Gestion des formulaires VoirIntroduction aux formulaires Les servlets rendent très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML, c'est-à-dire une interface graphique permettant à l'utilisateur de saisir des données. Grâce à la balise...

1

 fouinetinou, le 28 mai 2009 à 17:21:33

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...

Répondre à fouinetinou