Probleme recuperation donnèes php

Fermé
kd13 Messages postés 87 Date d'inscription jeudi 5 janvier 2012 Statut Membre Dernière intervention 20 juillet 2013 - 18 févr. 2012 à 19:21
 Garth - 18 févr. 2012 à 21:14
Bonjour,

j'ai un formulaire avec la method post ! ce formulaire a 3 bouton liès a une fonction javascript qui change l'action du formulaire selon le bouton clikè!
le probleme que jai un bouton modifier qui envoi comme parametre 'id' par la methode get car c'un parametre passè a travers un lien comment faire pour recupere les autres parametres afin de modifier la ligne selectionnè !est ce que je dois recupere les parametres dans la page modifier.php avec la methode post ou get ??
voici le code javascript :

function type3(idop)
{

if (confirm("Vous désirez vraiment Valider Cette Operation?")) {
alert("Operation Validèe")
document.getElementById('formElem').action="modifier.php?idop="+idop;

}
else {
alert("non")
}


//////////////////////////////////code de la page op.php///////////////////////

echo ("<input type=\"hidden\" name=\"idop\" value=\"".$result["idop"]."\" />");

echo ("<input id=\"searchField\" name=\"nomcompte\" type=\"text\" value=\"".$result["nomcompte"]."\" AUTOCOMPLETE=\"OFF\" />");


echo ("<input type=\"text\" name=\"montantht\" value=\"".$result["montantht"]."\" AUTOCOMPLETE=\"OFF\"/>");



echo ("<button type=\"submit\" onClick=\"type3($result[idop])\" >modifier</button>");

//////////////////////////////////code de la page modifier.php///////////////////////

$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "suivibudgetaire" ) ;

//récupération de la variable d'URL,
//qui va nous permettre de savoir quel enregistrement supprimer:
$a = $_GET["idop"] ;
$b = $_POST["nomcompte"] ;
$e = $_POST["montantht"] ;





A voir également:

1 réponse

Bonsoir,

ce formulaire a 3 bouton liès a une fonction javascript qui change l'action du formulaire selon le bouton clikè! Pourquoi ne pas faire 3 formulaires dans ce cas, l'apparence sera exactement la même.

<button type=\"submit\" ça existe ça? Je connaissait <input type='submit mais pas <button type='submit, ici il est recommandé d'utiliser button pour pouvoir indiquer quelle page sera la cible du formulaire en javascript(ce qu ne marche pas avec <input type='submit car comme son nom l'indique il "soumet" le formulaire).

document.getElementById('formElem').action="modifier.php?idop="+idop;

J'ai de vagues souvenir de javascript mais il ne faudrait pas plutôt valider l'envoi du formulaire(la cible étant indiquée dans la validation). getElementById( ne fera que récupérer la valeur d'un élément de la page et ne valideras pas le formulaire.

le probleme que jai un bouton modifier qui envoi comme parametre 'id' par la methode get Donc où intervient le javascript? Les variables GET sont dans php.

c'un parametre passè a travers un lien Rien n'empêche de l'avoir en POST si vous utilisez un formulaire, le bouton devient un lien(auquel on donnes l'apparence que l'on veut via css).


comment faire pour recupere les autres parametres afin de modifier la ligne selectionnè
Le SQL vous connaissez? Si vous avez l'identifiant d'une table vous récupérerez les valeurs que vous voudrez.

est ce que je dois recupere les parametres dans la page modifier.php avec la methode post ou get ?? Soit l'un soit l'autre. En OPST c'est plus sûr.

Plusieurs fois que vous postez la même question.

Je vous conseilles de procéder par étape et de tester le fonctionnement partie par partie. C'est mieux en post pour éviter que l'utilisateur puisse entrer les valeurs qu'il veut (et casser ou mettre ce qu'il veut dans la base de données) et aussi parce que ça permet d'aérer le code en séparant le traitement du formulaire.
Oubliez le javascript, il ne sert qu'à compliquer les choses et ne pourra ni traiter les éléments du formulaire(GET ou POST) ni envoyer de requête à la base. Dans un formulaire le javascript sert surtout à vérifier si un champ correspond bien avant de vérifier dans php.

edit:

$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "suivibudgetaire" ) ; 


ça c'est dangereux et pas pratique. Dangereux parce que quelqu'un qui récupéres la page modifier.php a tous les identifiants à la base et pas pratique parce que dés que vous avez une requête à faire pour une autre page il vous faudra réecrire la même chose. Quand vous publierez sur le serveur distant il faudras changer partout "localhost" et "root" "" par les vrais identifiants et mdp.
C'est là que les fonctions sont utiles. Ectrivez un fichier de fonctions avec une fonction connexion(){}, placez le dans un dossier sécurisé(qui ne peut être lu que par le serveur) et appelez le avec un include dans votre page. L'avantage est bien sûr que c'est modulaire(pas besoin de changer plusieurs tout si vous voulez changer quelque chose qui est dans une fonction) et évoteras que n'importe qui puisse récupérer les accès à la BDD.
0