cobrachris
Messages postés85Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention19 mars 2007
-
30 mars 2005 à 12:34
JoJo738
Messages postés1267Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention29 juin 2010
-
31 mars 2005 à 16:25
Bonjour,
J'ai de nouveau un petit problème.
J'ai un formulaire pour enregistrer des données, en bas, un bouton d'action qui renvoit vers une page pour récapituler les données transmises afin de revenir en arrière pour corriger, ou pour valider les données.
Bon mon problème viens pour la page pour envoyer les données une fois récapitulé.
Il me dit qu'il y a des cases vides alors que les cases nécessaire sont remplies.
Voici les codes:
Formulaire:
<form method="post" action="index.php?page=recapfiche">
Formuliare d'enregistrement d'un lieu en France,
----
Remplissez ce formulaire (attention tous les champs suivi d'un * sont obligatoire et vous devez être connecté).
Commentaire sur le lieu: <textarea rows="4" name="Commentaire" cols="52"></textarea>
Un bon détaillant dans le coin :
<textarea cols="23" rows="3" name="Detaillant"></textarea>
Site internet du lieu :
</form>
le fichier de récap:
<?php
if(!isset($_SESSION['Pseudo']))
{
header("location:index.php?page=desole");
}
else
{
$Pseudo=$_SESSION['Pseudo'];
}
?>
Vérification des données,
----
Bonjour <?php echo $Pseudo=$_SESSION['Pseudo']; ?>, nous allons récapituler les informations que vous nous avez transmises :
Information sur le lieu
Pays : <?php echo $_POST['Pays']; ?>.
et le ficheir pour enregistrer:
Vérification des données,
----
<center>
<?php
// On commence par récupérer les champs
if(isset($_SESSION['$Pseudo'])) $Pseudo=$_SESSION['$Pseudo'];
// On vérifie si les champs sont vides
if(empty($Pseudo) OR empty($Pays) OR empty($Departement) OR empty($Ville) OR empty($Typecoin) OR empty($Domaine) OR empty($Profondeur) OR empty($Nature) OR empty($Relief) OR empty($Especes) OR empty($Technique) OR empty($Amour) OR empty($Exemple))
{
echo 'Attention, seul les champs Petit nom du lieu, Amour suite, Commentaire, Détaillant et Site peuvent rester vide !';
}
// Aucun champ n'est vide, on peut enregistrer dans la table
else
{
// connexion à la base
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('sub',$db) or die('Erreur de selection '.mysql_error());
// on écrit la requête sql
$sql = "INSERT INTO coin(Pseudo,Pays,Departement,Ville,Nom,Typecoin,Domaine,Profondeur,Nature,Relief,Especes,Technique,Amour,Amoursuite,Exemple,Commentaire,Detaillant,Site,date) VALUES('$Pseudo','$Pays','$Departement','$Ville','$Nom','$Typecoin','$Domaine','$Profondeur','$Nature','$Relief','$Especes','$Technique','$Amour','$Amoursuite','$Exemple','$Commentaire','$Detaillant','$Site','$date')";
// 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é ajoutées.';
mysql_close(); // on ferme la connexion
}
?>
</center>
je ne vois pas trop d'ou peut venir cette erreur, peut etre le passage du Pseudo de session.
cobrachris
Messages postés85Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention19 mars 2007 30 mars 2005 à 22:36
désolé mais je comprend pas trop.
Dc j'ai fais ainsi dans le fichier de recapitulation :
<?php
if(!isset($_SESSION['Pseudo']))
{
header("location:index.php?page= desole");
}
else
{
$Pseudo=$_SESSION['Pseudo'];
}
?>
<table border="0" style="border-collapse: collapse; border: 3px double #0066FF" bordercolor="#111111" width="100%">
<tr>
<td width="100%" height="20" class="fondtitre">
Vérification des données </td></tr>
<tr><td class ="fondmilieu">
<?php
$vars = array("Pseudo", "Pays", "Departement", "ville", "Nom", "Typecoin", ........);
$Pseudo = isset($_SESSION['Pseudo']) ? $_SESSION['Pseudo'] : "";
echo "Bonjour ".$Pseudo.", nous allons récapituler les informations que vous nous avez transmises :
";
echo " Information sur le lieu : ";
foreach ($_POST as $clé => $Pays)
{
echo "Pays : ".$Pays.".
";
}
.......
Par contre je ne vois pas comment modifier le formulaire
Je dois mettre pour les listes déroulantes :
$vars = array("Pseudo", "Pays", "Departement", "ville", "Nom", "Typecoin", "Domaine","Profondeur", "Nature", "Relief", "Especes", "Techinque", "Amorcage", "Amorcesuite", "Esche","Commentaire", "Detaillant", "Site");
for($i=0; $i<$nb_vars; $i++)
{
echo "$vars[$i]
Département * :
<select name="Departement">
<option selected>Sélectionnez votre département</option>
<option value="01 - Ain">01 - Ain</option>
</select>
";
}
et pour les champs texte :
echo "Ville (ou lieu dit) * :
";
ou
for($i=0; $i<$nb_vars; $i++)
{
echo "Ville (ou lieu dit) * :
";
}
ensuite toutes les lignes:
echo "";
j'ai supprimé.
Mais comment faire pour passer les information à la page de validation, donc la page apres la recapitulation ?
Vraiment désolé mais je vois vraiment pas.
stepibou
Messages postés112Date d'inscriptionjeudi 11 mars 2004StatutMembreDernière intervention11 octobre 2006 31 mars 2005 à 10:44
je me demande si t'as ecrit 16 ko et apres tu t'es dis, à on va essyer si ca marche? !!!
je tente de t'aider une derniere fois :
conserve ton formulaire c trop compliqué oublie array
<form method="post" action="index.php?page=recapfiche">
</form>
le fichier de récap:
<?php
if(!isset($_SESSION['Pseudo']))
{
header("location:index.php?page=desole");
}
else
{
$Pseudo=$_SESSION['Pseudo'];
}
?>
Vérification des données,
----
Bonjour <?php echo $Pseudo=$_SESSION['Pseudo']; ?>, nous allons récapituler les informations que vous nous avez transmises :
Information sur le lieu
Pays : <?php echo $_POST['Pays']; ?>.
<?php
// On commence par repérer les champs
$Pseudo = isset($_SESSION['Pseudo']) ? $_SESSION['Pseudo'] : "";
// et la pareille
foreach ($HTTP_POST_VARS as $clé => $valeur) {
$clé = isset($valeur) ? $valeur : "";
} // ca doit marcher mais je suis pas sure
//et la regarde deja si ca marche !!!!
?>
et le ficheir pour enregistrer: pourquoi tu fais pas ton fichier enregistrer dans ton fichier precedent
c la meme chose, tu fais deux fois, fait pas de hidden!!!
Vérification des données,
----
<center>
<?php
// On commence par récupérer les champs
//on récupère la date
$date = date("y-m-d");
// On vérifie si les champs sont vides
if(empty($Pseudo) OR empty($Pays) OR empty($Departement) OR empty($Ville) OR empty($Typecoin) OR empty($Domaine) OR empty($Profondeur) OR empty($Nature) OR empty($Relief) OR empty($Especes) OR empty($Technique) OR empty($Amour) OR empty($Exemple))
{
echo 'Attention, seul les champs Petit nom du lieu, Amour suite, Commentaire, Détaillant et Site peuvent rester vide !';
}
// Aucun champ n'est vide, on peut enregistrer dans la table
else
{
// connexion à la base
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('sub',$db) or die('Erreur de selection '.mysql_error());
// on écrit la requête sql
$sql = "INSERT INTO coin('$Pseudo','$Pays','$Departement','$Ville','$Nom','$Typecoin','$Domaine','$Profondeur','$Nature','$Relief','$Especes','$Technique','$Amour','$Amoursuite','$Exemple','$Commentaire','$Detaillant','$Site','$date')";
// 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é ajoutées.';
mysql_close(); // on ferme la connexion
}
?>
</center>
la pareil quand tu ecrit dans ta table, c'est pas la peine de lui rapeler ses champs
t'ecrit directement les values...
<?php // tu ecrit ca , c horrible, et totallement incorrecte
echo "Ville (ou lieu dit) * :
";
//si ton echo commence par " , tu doit mettre des \ devant les " et non ' de tes balises html !!!
//et inversement ' \ ' et non "
//mais la ca s'utilise pas pour le html, car les balise html sont toujours avec " .
//plus pour dujavascript ou autre
?>
voila conseil : commence par des programes simples ...
essaye toujours de faire des boucles partout ou t'as plus de 3 syntaxes pareil
JoJo738
Messages postés1267Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention29 juin 20102 31 mars 2005 à 16:25
Salut,
Pour des questionsq de rapidité et/ou de normes il faut faire :
<LI>style="height: ??px; width: ??%; text-align: center; border: 0px; ..."</LI>
<LI>priviligié les ' a la place des ". Sauf dans les balises X/Html</LI>
<LI>Les inputs : </LI>
<LI> à la place de </LI>
<LI> à la place de </LI>
<LI>Ls balises :
<hr /></LI>
<LI>$_POST à la place de $HTTP_POST_VARS</LI>
<LI>$val '', a la place de $val "";</LI>
<LI>echo ' ', ' ', ' '; à la place de echo ' ' . ' ' . ' ';</LI>
... Il y a encore des choses à faire ...