CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

methode post en php?

caelacanthe
caelacanthe
Niveau 10
04 octobre 2007 à 09:39:53

:salut:

j´ai un petit truc a faire en php, et je bloque a un endroit: en effet, l´utilisateur doit mettre des valeurs dans des zones de texte <input type="text">.

le problème, c´est que je n´ai jamais vraiment compris comment récupérer les valeurs :peur:
apparament, créer un formulaire avec la methode post semble etre la meilleure solution, mais je n´y arrive pas... comment utiliser correctement la methode post :question:

:merci: et :banzai:

Chaos_Clad
Chaos_Clad
Niveau 10
04 octobre 2007 à 13:16:33

Tu créés un formulaire à l´aide de la balise form :

<form action="la_page_qui_va_récupérer_les_valeurs.php" method="post">
<input type="text" name="nom_de_variable_qui_va_etre_récupérée">
<input type="submit">
</form>

Et ensuite, quand tu vas appuyer sur "Submit", la variable contenu dans le champ texte de ton formulaire sera récupérée sous la forme $_POST[´nom_de_variable_qui_va_etre_récupérée´], n´oublie pas de faire des tests dessus pour vérifier qu´elle ne contient pas n´importe quoi :-)))

caelacanthe
caelacanthe
Niveau 10
04 octobre 2007 à 13:55:11

ca marche! merci beaucoup :ok:

caelacanthe
caelacanthe
Niveau 10
08 octobre 2007 à 14:58:26

p´tit problème :doute:

j´ai là un formulaire POST en php, avec des champs a remplir, des valeurs par défaut dedans, et le tout est censé générer une requète mysql de type update :(

seulement, je suis obligé de cliquer une fois sur valider pour que les valeurs entrent dans la requète, et une autre fois pour l´envoyer... si je programme mon bouzin pour qu´il envoie directement la requète au premier clic, il envoie un squelette de requète vide, mdr :fou:

quelqu´un aurait pas une idée de javascript pour obliger l´utilisateur a cliquer deux fois :question:

deepblue
deepblue
Niveau 16
08 octobre 2007 à 17:31:35

:gne:

Donne ton code stp

caelacanthe
caelacanthe
Niveau 10
09 octobre 2007 à 12:22:58

d´accord, mais autant que je vous prévienne, le bout de code en question est assez... compliqué :peur:

if($action=="modifier"){
$requete=´describe ´.$table.´;´;
$resultat=mysql_query($requete, $lien);
$compteur=0;
//echo ´<form action=\"´.$table.´\".php method=\"POST\">´;
while($line=mysql_fetch_row($resultat)){ //récup des noms de champs ds tab
//echo $line[0].´:<input type=\"text\" name=\"´.$line[0].´\"><br>´;

$tab[$compteur]=$line[0];
$compteur=$compteur+1;
}
$stocpt=$compteur; //stockons la valeur du nombre de champs de la table
$compteur=0;

//echo ´<form action="CONTENU.php?table=´.$table.´" method=post>´;
//echo ´<form
action="CONTENU.php?table=´.$table.´&action=´.$act
ion.´&id=´.$id.´&nomId=´.$nomId.´" method=post>´;
//echo ´<form method=post>´;
//echo ´<form method="post"
action="confirmation.php?table=´.$table.´&rqt=´.$r
qt.´">´;
while($compteur<$stocpt){
$requete=´select ´.$tab[$compteur].´ from ´.$table.´ where ´.$nomId.´ = ´.$id.´;´;
$resultat=mysql_query($requete,$lien);
$ligne=mysql_fetch_row($resultat);
//echo $ligne[0];
$defaut=$ligne[0];
echo $tab[$compteur].´:<input type="text" name="´.$tab[$compteur].´" value=´.$defaut.´><br>´;
$compteur=$compteur+1;

}
//bien! nous avons le nom des champs, les trous pour modifier du texte, et les valeurs par défaut!

$rqt=´update ´.$table.´ set ´;
$compteur=0;
while($compteur<$stocpt){
$valeur=$_POST[$tab[$compteur]];
//echo $valeur.´<br>´;
$rqt=$rqt.´ ´.$tab[$compteur].´=´.´\´´.$valeur.´\´´;
if($compteur<($stocpt-1))$rqt=$rqt.´,´;
$compteur=$compteur+1;
}

$rqt=$rqt.´ where ´.$nomId.´=´.$id.´;´;
echo $rqt;

echo ´<input type="submit" value="valider">´;

echo ´</form>´;
}

hard, hein? on est censé arriver sur une page nommée "intervention.php" pour updater un champ de valeurs d´une table; il y a donc une variable action.
il arrive aussi par la barre d´adresse le nom de la table qui porte les champs a updater, etc...

disons qu´en bref, ce bout de code là est censé générer une requète sql de type update a partir de ce qui est marqué dans les zones de texte! mais hélas, ca ne marche pas très bien; on dirait que la requète est générée avant de récupérer la valeur par défaut des champs de texte, et donc ca m´obligerait a cliquer deux fois pour récupérer les valeurs et générer la requète :question:

caelacanthe
caelacanthe
Niveau 10
09 octobre 2007 à 12:23:40

d´ailleurs, lol: des lignes ont été coupées :rire2:

deepblue
deepblue
Niveau 16
10 octobre 2007 à 14:32:07

1- il manque du code
2- Après $rqt=´update ´.$table.´ set ´; et $rqt=$rqt.´ where ´.$nomId.´=´.$id.´;´; (modifiable en $rqt=´update ´.$table.´ set ´; $rqt.=´ where ´.$nomId.´=´.$id.´;´; ), aucun mysql_query(); > requete non executée.

Si tu pouvais parser ton code ici, ce serait bien :)
http://rafb.net/paste/

caelacanthe
caelacanthe
Niveau 10
10 octobre 2007 à 15:30:32

tiens, j´ai réussi a résoudre le problème! un petit coup d´Isset et hop!

if($action=="modifier"){
$requete=´describe ´.$table.´;´;
$resultat=mysql_query($requete, $lien);
$compteur=0;
//echo ´<form action=\"´.$table.´\".php method=\"POST\">´;
while($line=mysql_fetch_row($resultat)){ //récup des noms de champs ds tab
//echo $line[0].´:<input type=\"text\" name=\"´.$line[0].´\"><br>´;

$tab[$compteur]=$line[0];
$compteur=$compteur+1;
}
$stocpt=$compteur; //stockons la valeur du nombre de champs de la table
$compteur=0;

//echo ´<form action="CONTENU.php?table=´.$table.´" method=post>´;
//echo ´<form
action="CONTENU.php?table=´.$table.´&action=´.$act
ion.´&id=´.$id.´&nomId=´.$nomId.´" method=post>´;
echo ´<form method=post>´;
//echo ´<form method="post"
action="confirmation.php?table=´.$table.´&rqt=´.$r
qt.´">´;

while($compteur<$stocpt){
$requete=´select ´.$tab[$compteur].´ from ´.$table.´ where ´.$nomId.´ = ´.$id.´;´;
$resultat=mysql_query($requete,$lien);
$ligne=mysql_fetch_row($resultat);
//echo $ligne[0];
$defaut=$ligne[0];
echo $tab[$compteur].´:<input type="text" name="´.$tab[$compteur].´" value=´.$defaut.´><br>´;
$valeur[$compteur]=$defaut;
$compteur=$compteur+1;

}
//bien! nous avons le nom des champs, les trous pour modifier du texte, et les valeurs par défaut!

/*
$rqt=´update ´.$table.´ set ´;
$compteur=0;
while($compteur<$stocpt){
//echo $valeur.´<br>´;
$rqt=$rqt.´
´.$tab[$compteur].´=´.´\´´.$valeur[$compteur].´\´´
;
if($compteur<($stocpt-1))$rqt=$rqt.´,´;
$compteur=$compteur+1;
}

$rqt=$rqt.´ where ´.$nomId.´=´.$id.´;´;
echo $rqt;

  • /

//echo ´<form method=post>´;

$rqt=´update ´.$table.´ set ´;
$compteur=0;
while($compteur<$stocpt){
if(isset($_POST[$tab[$compteur]])){
$valeur[$compteur]=$_POST[$tab[$compteur]];
}
//echo $valeur.´<br>´;
$rqt=$rqt.´
´.$tab[$compteur].´=´.´\´´.$valeur[$compteur].´\´´
;
if($compteur<($stocpt-1))$rqt=$rqt.´,´;
$compteur=$compteur+1;
}

$rqt=$rqt.´ where ´.$nomId.´=´.$id.´;´;
echo $rqt;

echo ´<input type="submit" value="entrer">´;

echo ´</form>´;

/*
echo ´<form method="post"
action="confirmation.php?table=´.$table.´&rqt=´.$r
qt.´">´;
echo ´<input type="submit" value="valider">´;
echo ´</form>´;

  • /

/*
echo ´<form
action="CONTENU.php?table=´.$table.´&action=´.$act
ion.´&id=´.$id.´&nomId=´.$nomId.´" method=post>´;
echo ´<input type="submit" value="validerPDV">´;
echo $requete;
$resultat=mysql_query($requete,$lien);

  • /

echo ´<form method="post"
action="CONTENU.php?table=´.$table.´&repsql=´.$rep
sql.´">´;
$compteur=0;
echo ´<table border bordercolor="cyan">´;
echo ´<tr>´;
while($compteur<$stocpt){
echo ´<td>´.$tab[$compteur].´</td>´;
$compteur=$compteur+1;
}
echo ´</tr><tr>´;
$compteur=0;
while($compteur<$stocpt){
echo ´<td>´.$valeur[$compteur].´</td>´;
$compteur=$compteur+1;
}
echo ´ce sont ces valeurs-la que vous voulez?´;
$resultat=mysql_query($rqt,$lien);

echo ´<input type="submit" value="oui">´;
echo ´</form>´;

pour le parsage du code, tu veux ce bout-là ou toutes les pages?

deepblue
deepblue
Niveau 16
10 octobre 2007 à 18:47:03

Si ça fonctionne, aucune raison de redonner le code.
Le parsage nous aurait permis de mieux lire ton code :ok:

caelacanthe
caelacanthe
Niveau 10
11 octobre 2007 à 15:24:35

mais quand tu parles de parsage, tu veux dire enlever tous les commentaires inutiles, les print de debugs et tout ce qui ne sert pas vraiment :question:

je débute et ne connais donc pas bien le vocabulaire de programmation :peur:

dnob700
dnob700
Niveau 10
11 octobre 2007 à 21:33:36

quand il parle de "parsage", je pense qu´il voulait dire qu´il eu mieu valu que tu poste ton message sur un wall (i.e. que tu le paste/copie là) et que si le wall est bon, il va parser le code pour faire par exemple une coloration syntaxique. D´autre part il va conserver l´indentation.

Le seul truc dommage c´est qu´il n´y a plus de bon wall je trouve. rafb est pas mal du tout, mais le walljv ou un truc comme ça, ainsi que le nouveau wall de CodeS-SourceS.com sont très mauvais (mais ce dernier est très récent, donc il peut s´améliorer). Il y en avait un très bon sur un site qui s´appelait outils du net ou quelque chose comme ça, mais il a disparu.

Bref tout ça pour dire que tu utilise le lien de deepblue :
http://rafb.net/paste/ pour mettre ton code, ça sera mieux.

caelacanthe
caelacanthe
Niveau 10
16 octobre 2007 à 13:10:36

au secour, j´ai un problème avec une requète SQL!

je tape:
select m.numMan,m.nomMan,count(*) from CONTENU c,MANIFESTATION m where c.numMan=m.numMan group by(m.numMan,m.nomMan) order by m.nomMan;

et ils me mettent:
ERROR 1241 (21000): Operand should contain 1 column(s)

:( quelqu´un aurait une idée de l´origine du problème :question:

novembre
novembre
Niveau 18
16 octobre 2007 à 19:34:52

Essaie :

select m.numMan,m.nomMan,count(*) from CONTENU c,MANIFESTATION m where c.numMan=m.numMan group by m.numMan,m.nomMan order by m.nomMan;

Si ça marche c´est car group by ne prends pas plusieurs colonnes dans ses parenthèses. D´ailleurs ce type d´écriture me rappelle rien, j´utilise toujours celui que j´ai indiqué (il existe peut être sur un sgbdr qui accepte des écritures spéciales de SQL).

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment