frame et formulaire à plusieurs boutons

Eléphanteau du PHP | 34 Messages

22 nov. 2006, 17:07

Bonjour à tous,
J'ai une page d'accueil qui possede 3 frames
gauche = menu
central = formulaire
droite = affichage provisoire

Depuis mon formulaire je récupère diverses informations (listes déroulantes) et avec le bouton submit je valide le formulaire
jusque là pas trop de problèmes.
Cela ce complique (au moins pour moi) car je voudrai ajouter un autre bouton qui à partir des informations du formulaire ajoute dans un tableau autant de valeurs que le choix fait dans le formulaire et avoir l'affichage du tableau dans la frame de droite

Je me suis dit qu'il fallait avoir plusieurs boutons submit et traiter la valeur dans le script de destination mais comment puis faire pour :
  • Bouton 1 : on augmente la taille du tableau et on affiche qlq chose du genre count($tab) dans la frame de droite et recharger le formulaire dans la frame centrale un header ??

    Bouton 2 : on valide définitivement le formulaire et on affiche le resultat dans la frame centrale
    Bon ca ok avec qlq chose comme
    header('Location:coucou.php')
    ou même directement le code de validation
Je ne suis pas sur que cela soit la bonne voie à prendre
Pour le moment je ne parviens pas à afficher qlq chose autre part que dans la frame centrale
Il doit me manquer une notion du probléme, c'est la premiere fois que j'utilise des frames.
Merci d'avance d'éventuels indices, pistes

Ci dessous l'état actuel
<?php
include "connect.inc.php";
session_start();
if(!isset($_SESSION['login'])) {
	echo "Vous n'etes pas autoriser a acceder a cette zone !!";
	header('Location:/serveur/index.php');
	exit;
}
$login =$_SESSION['login'];
$password = $_SESSION['password'];
$nom = $_SESSION['nom'];
$prenom=$_SESSION['prenom'];
?>
<FORM name="form" method="POST" action="valid_form.php" enctype="application/x-www-form-urlencoded">


<?php
echo "Login : ".$login;
?>
Selectionnez : 
<?php

require("listes_1.php");

echo "<br><br>";
require("liste_2.php");
echo "<br>";
require("liste_3.php");
echo "<br>";
require("liste_4.php");
echo "<br>";
?>
Date  : 
<input type="text" name="jour" size="2" maxlength="2"/>/
<input type="text" name="mois" size="2" maxlength="2" />/
<input type="text" name="annee" size="4" maxlength="4" />
<br>
Heure : 
<input type="text" name="heure" size="2" maxlength="2"/>:
<input type="text" name="minute" size="2" maxlength="2" />
<br>
Nombre 1 : 
<INPUT type="text" name="nb_1" size="2" maxlength="2">
<br>
Numero depart : 
<input type="text" name="num_dep" size="4" maxlength="4"/>
<br>
 <INPUT type="reset" value="RESET">
<br>
<INPUT type="submit" name="action" value="Ajouter" >
<INPUT type="submit" name="action" value="Valider">
</FORM>
script de destination
<?php
switch ($_POST['action']) {
	case 'Ajouter':

		header('Location:coucou.php');
		exit;

	case 'Valider':
		echo "valider"."<br>";

		break;
}
?>

Eléphant du PHP | 152 Messages

23 nov. 2006, 12:06

Je te propose deux methodes

Method 1 (POST CLASSIQUE) niveau débutant :

Code : Tout sélectionner

<script language="javascript"> function envoi_form1() { document.form1.action=envoi vers frame1; } function envoi_form2() { document.form1.action=envoi vers frame2; } </script> <form action="" method="post" name="form1"> <select name="q1" onChange="envoi_form1"> <option value=1>1</option></select> <input type="button" onClick="envoi_form2();">

Deuxième méthode (SANS RECHARGEMENT) niveau moyen

Si tu débutes je te conseilles d'utiliser la première méthode

Utilisation d'AJAX pour poster les données aux frames.
Cette méthode créer une connection XHR nous pouvons
grace à ça changer le contenu d'une page sans recharger
avec "document.getElementById.innerHTML.


http://www.toutjavascript.com/savoir/xm ... quest.php3

Voila bon courage

@+

Eléphanteau du PHP | 34 Messages

23 nov. 2006, 12:34

Ok et merci
La methode debutant,est parfaite
Merci
:P