Modif enregistrement via formulaire

Résolu
aforpien Messages postés 118 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 12 mai 2010 - 16 sept. 2008 à 15:49
cs_romain42 Messages postés 18 Date d'inscription vendredi 16 juillet 2004 Statut Membre Dernière intervention 18 septembre 2008 - 16 sept. 2008 à 16:32
Bonjour à tous,

J'ai écrit trois pages en php : modifproc.php, qui me permet de selectionner la procédure à modifier, update.php, qui me permet d'afficher les champs de la procédure selectionnée dans des input texte (sur une nouvelle page), puis updaterows.php, qui me permet de modifier les données de la table.
Mais je n'arrive pas à passer une variable sur plusieurs pages. Ma variable $choix qui contient l'id de le procédure à modifier est récupéré par update.php depuis modifproc.php pour l'affichage mais pas par updaterows.php pour la modification...
Comment puis-je faire transiter une variable sur plusieurs pages ??? j'ai essayer avec le passage de variable en URL mais sans succès cela ne fonctionne pas ou alors je m'y prend mal...
Le plus simple serai que je ne fasse qu'une seule page qui me permetterai de choisir le procédure dans une liste déroulante, et lorsque je clikerai sur ok, les champs input seraient automatiquement mis à jour, au lieu de le faire sur une nouvelle page. Je pourrai alors faire appel à mon script de mise à jour.
Je cherche dans un premier temps comment faire passer une variable sur plusieurs pages, puis (voir mm en premier lieu aussi afn de gagner du temps) comment faire une page qui contient ma liste déroulante + les champs input qui seront mis à jour lors d'un clic sur un bouton 'actualiser' par exemple ??? j'ai entendu parler je javascript sur des forums pour faire ce genre de choses mais je ne connais pas du tout et après avoir effectuer des recherches depuis ce matin je suis vraiment perdu et je ne sais vraiment plus quoi faire...

Merci beaucoup à ceux qui prendront le temps de ce casser la tête pour moi, mais la vraiment je sèche !!!!
Voici mes fichiers PHP :

*****//// modifproc.php ////*****

<form method="POST" action="update.php">
Choisir la procédure à modifier :
<?php  
include 'connexion.php';
            $query = mysql_query("SELECT * FROM procedures;") or die (mysql_error());
if ($query) {
   
    echo '<select name="choix">';
    while ($array = mysql_fetch_assoc($query)) {
        if ($choix == $array["prod_nom"]) {
            echo '<option value="' . $array['proc_nom'] . '" selected>' . $array['proc_nom'] . '</option>';
        } else {
            echo '<option value="'.$array['proc_nom'] . '">' . $array['proc_nom'] . '</option>';
        }
    }
    echo '</select>';
}
?>



</html>

*****//// UPDATE.PHP ////*****
<html>
<form method="POST" action="updaterows.php">
<?php

if(isset($_POST['choix']))      $choix=$_POST['choix'];
else      $choix="";
include 'connexion.php';

$sql = "Select * FROM procedures WHERE proc_nom='$choix'";
    // on insère les informations du formulaire dans la table
    mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());

$query = "SELECT proc_description FROM procedures WHERE proc_nom='$choix'";
$result = mysql_query($query);

$query2 = "SELECT proc_auteur FROM procedures WHERE proc_nom='$choix'";
$auteur = mysql_query($query2);

$query3 = "SELECT proc_chemin FROM procedures WHERE proc_nom='$choix'";
$chemin = mysql_query($query3);

?>
Nom : ">,
Description : ">,

----

Auteur : ">,
Chemin : ">

 


</html>

*****//// UPDATEROWS.PHP ////*****
<?php
// Récupréation des champs
if(isset($_POST['proc_nom']))      $proc_nom=$_POST['proc_nom'];
else      $proc_nom="";

// Récupréation des champs
if(isset($_POST['proc_des']))      $proc_des=$_POST['proc_des'];
else      $proc_des="";

// Récupréation des champs
if(isset($_POST['proc_auteur']))      $proc_auteur=$_POST['proc_auteur'];
else      $proc_auteur="";

// Récupréation des champs
if(isset($_POST['proc_chemin']))      $proc_chemin=$_POST['proc_chemin'];
else      $proc_chemin="";

// Récupréation des champs
if(isset($_POST['toto']))      $toto=$_POST['toto'];
else      $toto="";

include 'connexion.php';
    // on écrit la requête sql
    $sql = "UPDATE procedures SET proc_nom='$proc_nom',proc_description='$proc_des', proc_auteur='$proc_auteur', proc_chemin='$proc_chemin' WHERE proc_nom='polo'";
    // on insère les informations du formulaire dans la table
    mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());

    // on affiche le résultat pour le visiteur
    echo 'Vos infos on été modifiées.';

?>

5 réponses

cs_romain42 Messages postés 18 Date d'inscription vendredi 16 juillet 2004 Statut Membre Dernière intervention 18 septembre 2008
16 sept. 2008 à 15:56
Pourquoi deux posts ???

Pour transiter une variable d'un page à l'autre utilise les sessions (mais attention à la sécurité!!).

http://www.siteduzero.com/tutoriel-3-14563-les-variables-superglobales.html

Et pour l'affichage en direct j'ai déjà répondu sur ton autre post.

PS: c'est toujours pas la bonne catégorie...
3
syllebreton Messages postés 66 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 28 décembre 2010
16 sept. 2008 à 16:11
Salut

Essaye en mettant le passage en url dans tes <form action"taPage.php?id=truc" ... >
0
cs_romain42 Messages postés 18 Date d'inscription vendredi 16 juillet 2004 Statut Membre Dernière intervention 18 septembre 2008
16 sept. 2008 à 16:15
Si c'est dans un formulaire autant utiliser un champ
0
aforpien Messages postés 118 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 12 mai 2010
16 sept. 2008 à 16:15
Merci romain42 ! Oui dsl d'avoir fait un doublon, mais comme mes demandes étaient légèrement différentes...
Et dsl de m'être trompé de catégorie !!! tu l'aurai mis dans quoi ???
J'ai essayé avec les sessions et ca fontionne NIKEL, bien vue ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_romain42 Messages postés 18 Date d'inscription vendredi 16 juillet 2004 Statut Membre Dernière intervention 18 septembre 2008
16 sept. 2008 à 16:32
Dans PHP général ou web2.0 je sais pas trop mais sûrement dans MySQL :D !

Bon courage ;)
Romain
0
Rejoignez-nous