voila mon problème est que dans une premiere page je saisi des données donc avec un
'<input type="text" name="NomFrs" size="12">'
donc tres simplement!
ces donnees doivent passer dans une premiere page page ou elles ne sont pas utilisés puis dans une deuxieme ou elles sont enregistrer dans la base donc avec un
'<input type="hidden" name="nom" value = '.$_POST['NomFrs'].'>'
dans la deuxieme page !
Or lorsque je receptionne dans la page trois mes variable si mes données comprennaient un espace seulmenet la premiere parti ( donc se qui avait ete saisi avant l\'espace) est concervé le reste est enlever !
Déjà un conseil, protège tes données avec la fonction suivante :
addslashes — Ajoute des anti-slash dans une chaîne
Exemple pour ton cas : addslashes($_POST['NomFrs'])
Ensuite, tu devrais vérifier que tes données sont bien correctes dès la deuxième page en faisant un var_dump($_POST['NomFrs']) qui affichera les caractéristiques de ton input.
je ne comprend pas bien ou je dois mettre addslashes($_POST['NomFrs'])???
Or j'ai verifier mon affichage avec var_dump et en echet tout n'est pas concervéde la page deux a la page 3 mais tout est la dans la pag deux ( la page 1 saisie les donnée)
Pour le addslashes, tu peux le mettre de cette façon :
'<input type="hidden" name="nom" value = '.addslashes($_POST['NomFrs']).'>'
Est ce que j'ai bien compris :
- Dans la page 1, tu rentres une chaîne de caractères comme par exemple "test ici" dans le champ de texte.
- Dans la page 2, tu vois le résultat de ton vardump qui confirme bien que tu as la chaîne "test ici" dans la variable $_POST['NomFrs'].
- Dans la page 3, si tu fais un var_dump($_POST['nom']), tu vois seulement la chaîne "test" ?
Tu prends bien la variable $_POST['nom'] sur ta troisième page et pas $_POST['NomFrs'] ?
<?
require("connexion.php");
if ($_POST["NomFrs"]<>"" and $_POST["AdrFrs"]<>"" and $_POST["TelFrs"]<>"" and $_POST["IntFrs"]<>"" and $_POST["rib"]<>"" and $_POST["tva"]<>"")
{
echo var_dump($_POST['NomFrs']);//ici c'est en entier
....//afficher toutes les données
//modification de certaines données en fonction de leur presence ou non dans la base
if ($_POST['libelleVille']=="selectionner" and $_POST['ville']<>""and $_POST['cp']<>"")
{
$ville=$_POST['ville'] .'('. $_POST['cp'].')';
$requete = "insert into ville values('','".$ville."');";
$ok=mysql_query($requete) or mysql_error($requete);
if($ok)
{
echo '<br><br> votre ville '.$ville.' est bien enregistrée<br>';
}
else
{
echo ' la ville n a pas pu etre enregistrée<br> ';
}
}
//envoy dans l'autre page
echo '<input type="hidden" name="nom" value = '.addslashes($_POST['NomFrs']).'>';//les envoyer dans l'autres page
echo '<br><br> <input type="submit" value="Confirmer les saisies">';
}
else
{
echo ' probleme de saisie ';
}
?>
</table>
</body>
page 3:
<body>
<?
require("connexion.php");
//affichage de la variable qui est pu entiere
echo var_dump($_GET['nom']);
//recherche des numero correspondant au ville et pays dans la base de donnée
$requete= mysql_query("select Codeville from ville where libelleville= '".$_GET['ville']."'");
$ville=mysql_fetch_row($requete);
echo $ville= $ville[0];
....
mysql_close();
?>
Ok je vois. Il y a de gros soucis en effet. Voici les changements majeurs que tu as à apporter et les questions qu'ils faut que tu te poses :
Page 2 --
louloute3011 dit : //envoy dans l'autre pageecho '<input type="hidden" name="nom" value = '.addslashes($_POST['NomFrs']).'>';//les envoyer dans l'autres pageecho '<br><br> <input type="submit" value="Confirmer les saisies">';
Ok mais où sont tes balises html <form action="..." method="POST"> et </form>
Page 3 --
louloute3011 dit : echo var_dump($_GET['nom']);
Es tu sûr que tu n'as pas plutôt envoyé tes données en mode POST ? ($_POST['nom'])
je n'est pas fait attention car je n'est pas copier toute la page mais voici mes balise :
page 1:
<form action="NouveauFrs2.5.php" method="POST">
page 2:
<form action =" nouveaufrs2.php" method ="GET">
donc mes données sont bien envoyé en GET dans la deuxieme page donc receptionner en GET dans la derniere page!