Modif enregistrement via formulaire [Résolu]

Signaler
Messages postés
118
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
12 mai 2010
-
Messages postés
18
Date d'inscription
vendredi 16 juillet 2004
Statut
Membre
Dernière intervention
18 septembre 2008
-
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

Messages postés
18
Date d'inscription
vendredi 16 juillet 2004
Statut
Membre
Dernière intervention
18 septembre 2008

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...
Messages postés
66
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
28 décembre 2010

Salut

Essaye en mettant le passage en url dans tes <form action"taPage.php?id=truc" ... >
Messages postés
18
Date d'inscription
vendredi 16 juillet 2004
Statut
Membre
Dernière intervention
18 septembre 2008

Si c'est dans un formulaire autant utiliser un champ
Messages postés
118
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
12 mai 2010

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 ;)
Messages postés
18
Date d'inscription
vendredi 16 juillet 2004
Statut
Membre
Dernière intervention
18 septembre 2008

Dans PHP général ou web2.0 je sais pas trop mais sûrement dans MySQL :D !

Bon courage ;)
Romain