[RESOLU] Variable dans les choux

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Variable dans les choux

Re: Variable dans les choux

par nestor94 » 04 oct. 2021, 01:10

je vais mettre le meme nom de valeur. merci Or.

Re: Variable dans les choux

par or 1 » 04 oct. 2021, 01:07

<input type="text" name="nommer_ville" id="msg_nom_ville"/>
quand on se complique la vie à mettre des valeurs différentes, il faut bien avoir en tête que ce qui compte, pour $_POST, c'est name et pas id.

Re: Variable dans les choux

par nestor94 » 04 oct. 2021, 01:05

C'est ok
je m'étais complètement focalisé seulement sur $msg_nom_ville :oops: #-o
  if(isset($_POST['nommer_ville']))
 {
$msg_nom_ville = ($_POST['nommer_ville']);
 }   
if (!empty($_POST)) {
$msg = filter_input(INPUT_POST, 'nommer_ville', FILTER_SANITIZE_STRING);
if(strlen($msg)>0){
$pdostat =  $bdd->prepare("UPDATE map INNER JOIN membres ON membres.pos_x = map.pos_x AND membres.pos_y = map.pos_y SET map.msg_nom_ville = '$msg', tile= '/relief/tile_ville.gif' WHERE membres.id=:id");
$pdostat->bindvalue(':id', $idMembreSession, PDO::PARAM_INT);
$pdostat->execute();
}
header('Location:page_test.html');
exit;
}	 

Re: Variable dans les choux

par or 1 » 04 oct. 2021, 00:47

comment cela a était fait dans post469044.html#p469044 ?

Re: Variable dans les choux

par nestor94 » 04 oct. 2021, 00:01

#-o

je crois que j'ai trouvé...
  if(isset($_POST['nommer_ville']))
 {
$msg_nom_ville = ($_POST['nommer_ville']);
 }   
if (!empty($_POST)) {
$msg = filter_input(INPUT_POST, 'nommer_ville', FILTER_SANITIZE_STRING);
if(strlen($msg)>0){
$pdostat =  $bdd->prepare("UPDATE map INNER JOIN membres ON membres.pos_x = map.pos_x AND membres.pos_y = map.pos_y SET map.msg_nom_ville = '$msg', tile= '/relief/tile_ville.gif' WHERE membres.id=:id");
$pdostat->bindvalue(':id', $idMembreSession, PDO::PARAM_INT);
$pdostat->execute();
}
header('Location:page_test.html');
exit;
}	 

Re: Variable dans les choux

par or 1 » 03 oct. 2021, 19:18

$tab = ...;
print_r($tab);
cela m'affiche :
Array
(
[nommer_ville] => TESTVILLE
)
comment faire pour afficher seulement TESTVILLE avec un echo ?

Re: Variable dans les choux

par nestor94 » 03 oct. 2021, 18:32

(je m'y perds)
j'ai testé cela:

    if (!empty($_POST)) {
filter_input(INPUT_POST, 'msg_nom_ville', FILTER_SANITIZE_STRING);
if(strlen($msg)>0){
.............

Re: Variable dans les choux

par or 1 » 03 oct. 2021, 16:53

$msg_nom_ville = filter_input(INPUT_POST, 'msg_nom_ville', FILTER_SANITIZE_STRING);

avec un tableau qui contient
Array
(
[nommer_ville] => TESTVILLE
)

ça ne peut pas marcher.

Re: Variable dans les choux

par nestor94 » 03 oct. 2021, 16:46

Puisque le test avec if (!empty($_POST)) m'affiche bien la variable, j'ai mis cela:
    if (!empty($_POST)) {
$msg_nom_ville = filter_input(INPUT_POST, 'msg_nom_ville', FILTER_SANITIZE_STRING);
if(strlen($msg)>0){
$pdostat =  $bdd->prepare("UPDATE map INNER JOIN membres ON membres.pos_x = map.pos_x AND membres.pos_y = map.pos_y SET map.msg_nom_ville = '$msg_nom_ville', tile= '/relief/tile_ville.gif' WHERE membres.id=:id");
$pdostat->bindvalue(':id', $idMembreSession, PDO::PARAM_INT);
$pdostat->execute();
} 
header('Location:page_test.html');
exit;
}	
Mais il n'y a pas de mise à jour de la table.

Re: Variable dans les choux

par or 1 » 03 oct. 2021, 16:36

ce qui est logique avec un tel formulaire :
<form method="post" action="">
<input type="text" name="nommer_ville" id="msg_nom_ville"/>
<input type="submit" value="CRÉER" />
</form>

Re: Variable dans les choux

par nestor94 » 03 oct. 2021, 16:31

Je viens de tester ceci:
    if (!empty($_POST)) {
      echo '<pre>'.print_r($_POST,true).'</pre>';
 } else {
   echo '<br/>$_POST vide';
 }

qui m'affiche.................

Array
(
[nommer_ville] => TESTVILLE
)

Re: Variable dans les choux

par or 1 » 03 oct. 2021, 15:22

Déjà, j'aimerai comprendre pourquoi le script ne redirige pas vers la page html puisque le $POST est vide? :shock:
car le code php fait exactement l'inverse. si la variable existe, faire la redirection.

Re: Variable dans les choux

par nestor94 » 03 oct. 2021, 14:09

C:\wamp64\www\batir_ville.php:137:
array (size=0)
empty

Déjà, j'aimerai comprendre pourquoi le script ne redirige pas vers la page html puisque le $POST est vide? :shock:

Re: Variable dans les choux

par or 1 » 03 oct. 2021, 11:27

qu'est-ce qu'affiche
var_dump($_POST);
dans le script php ?

Re: Variable dans les choux

par nestor94 » 03 oct. 2021, 02:30

<form method="post" action=""> 
<input type="text" name="nommer_ville" id="msg_nom_ville"/>
<input type="submit"  value="CRÉER" />
</form>
la partie php
if(isset($_POST['nommer_ville']))
 {
$msg_nom_ville = !empty($_POST['msg_nom_ville']) ? trim($_POST['msg_nom_ville']) : NULL;
 }
if(isset($_POST['msg_nom_ville']))
{
header('Location:batir_ville_KO.html');
exit;
}	

$msg_nom_ville = filter_input(INPUT_POST, 'msg_nom_ville', FILTER_SANITIZE_STRING);
if(strlen($msg_nom_ville)>0)
{
$pdostat =  $bdd->prepare("UPDATE map INNER JOIN membres ON membres.pos_x = map.pos_x AND membres.pos_y = map.pos_y SET map.msg_nom_ville = '$msg_nom_ville', tile= '/relief/tile_ville.gif' WHERE membres.id=:id");
$pdostat->bindvalue(':id', $idMembreSession, PDO::PARAM_INT);
$pdostat->execute();
}