Recuperer des informations pour un formulaire

Résolu
smoky184 Messages postés 123 Date d'inscription   Statut Membre Dernière intervention   -  
smoky184 Messages postés 123 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous ,
ET oui c'est encore moi ... encore avec une question bizarre pour vous faire ! réfléchir un peu =)


ALORS !

j'ai fais un formulaire ou je pose certaine questions aux membre de mon site. comment ca quelles questions ? ca ca me regarde ^^ non je déconne.

enfin bref dans ce formulaire j'aimerais récupérer le nom du membre pour qu'ils n'aient pas à le réécrire. mais leurs pseudo s'enregistre comme un date "14/06/210 18:24"

alors sachant que leurs pseudo s'affiche bien dans le site j'aimerais savoir pourquoi ....

je vous donne vite fait le formulaire et le traitement de la page :


Formulaire.php :

<?php
("security.php"); 
?>
<html>
<head>
</head>
<body>
<?php
$nb_mess=mysql_query("SELECT * FROM ".PREFIXE."espace membre WHERE dest='$pseudom' AND open='0'") or die (mysql_error());
	$nb_mess_i=mysql_num_rows($nb_mess);
?>
<form method="post" action="traitement.php">
 
<p class="titre"><b><u>Coordonnées</u> :</b></p>
 
  //j'ai un peu tout racourci


  <label><b><u>Nom de la ville</u> :</b></label><br />
    <input type="text" name="nomvil1" size="30" /><br />

  <label><b><u>coordonnées</u> :</b></label><br />
  <label>X : </label><input type="text" name="x1" size="3" /><label>Y : </label><input type="text" name="y1" size="3" /><br />
 
 <input name="membre" type="hidden" size="30" value="<?php echo $pseudom ?>"><br />

<p id="buttons">
  <input type="submit" value="Envoyer" />
</p>
 
</form>
</body>
</html>






et le traitement.php



<?php

define('DB_SERVER', '*****'); // serveur mysql
define('DB_SERVER_USERNAME', '*****'); // nom d'utilisateur
define('DB_SERVER_PASSWORD', '*****'); // mot de passe
define('DB_DATABASE', '*****'); // nom de la base
 
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, 
DB_SERVER_PASSWORD) 
or die('Impossible de se connecter : ' . mysql_error());

mysql_select_db(DB_DATABASE, $connect);
 
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre ville a bien été enregistré. Pour enregistrer une autre ville veuillez répeter l'opération.";
$message = $msg_erreur;
  
if (empty($_POST['province'])) 
  $message .= "Votre province<br/>";
if (empty($_POST['nomvil1'])) 
  $message .= "Votre ville<br/>";
if (empty($_POST['x1'])) 
  $message .= "Ville X<br/>";
if (empty($_POST['y1'])) 
  $message .= "Y<br/>";
if (empty($_POST['membre'])) 
  $message .= "membre<br/>"; 
 
if (strlen($message) > strlen($msg_erreur)) {
 
  echo $message;
 
} else {
 
  foreach($_POST as $index => $valeur) {
    $$index = mysql_real_escape_string(trim($valeur));
  }
 
  $interets = $_POST['interets'];
  $sqlinterets = '';
  for ($i=0; $i<count($interets); $i++)
  {
    $sqlinterets .= $interets[$i];
    $sqlinterets .= ', ';
  }
 
  $sql = "INSERT INTO repertoir VALUES ('".$membre."', '".$province."', '".$nomvil1."', '".$x1."', '".$y1."', now())";
  $res = mysql_query($sql);
 
  if ($res) {
    echo $msg_ok;
  } else {
    echo mysql_error();
  }
 
}
?>


voila je penses avoir donné asssez d'information ... si vous voulez me poser d'autre questions n'hésitez pas ^^

merci à ceux qui se pose sur mon problème ^^

9 réponses

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
$sql = "INSERT INTO repertoir VALUES ('".$membre."', '".$province."', '".$nomvil1."', '".$x1."', '".$y1."', now())";


14/06/210 18:24 ça correspond pas à now() par hasard ??
2
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
attention il faut avoir le bon nombre de champs quand tu mets VALUES (..


ensuite il faut que les champs soient dans le même ordre c a dire:

si tu as VALUES ('".$membre."', '".$province."', '".$nomvil1."', '".$x1."', '".$y1."', now())

tu dois avoir dans l'ordre dans ta table les champs (au nom près bien sur)

membre,province,ville,villeX,villeY,date
2
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
mais leurs pseudo s'enregistre comme un date "14/06/210 18:24"


as tu bien mis le type du champ pseudo en VARCHAR dans ta BDD ?
0
smoky184 Messages postés 123 Date d'inscription   Statut Membre Dernière intervention   9
 
oui varchar valeur 255 le problème ne viendrait il pas de la page traitement.php ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
smoky184 Messages postés 123 Date d'inscription   Statut Membre Dernière intervention   9
 
ben si je l'enlève j'ai un
Column count doesn't match value count at row 1


j'y ai déjà pensé mais faudrait alors que je rajoutes autre chose a la place ...
j'ai vraiment bloqué dessus.. en tout cas merci Alain de m'aider
0
smoky184 Messages postés 123 Date d'inscription   Statut Membre Dernière intervention   9
 
tout à fait ! ca c'est bon pour l'instant a ce niveau la tout fonctionne j'ai bien tout les champs remplient mais au niveau de la bdd j'ai la date dans le champ membre (que j'ai changé en pseud d'ailleurs)
le problème ne viendrait il pas de la bdd sinon ?? phpmyadmin me dit que j'ai deux index
alors id je sais que je l'ai mis en index mais je ne vois pas quoi d'autre ...
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
donnes moi la listes de tes champs dans l'ordre
0
smoky184 Messages postés 123 Date d'inscription   Statut Membre Dernière intervention   9
 
désolé alain le serveur était en maintenance alors je n'y avais pas accès pour te donner les valeurs dans le bon ordre.
bref voila :

-id int(4) | not null | auto_increment
-province | varchar(255) | latin1_swedish_ci | not null
-nomvil1 | varchar(255) | latin1_swedish_ci | not null
-x1 | varchar(255) | latin1_swedish_ci | not null
-y1 | varchar(255) | latin1_swedish_ci | not null
-pseud | text | latin1_swedish_ci | not null

("pseud" a remplacé "membre")
0
smoky184 Messages postés 123 Date d'inscription   Statut Membre Dernière intervention   9
 
bon alors ca fonctionne ! apparemment le problème venait du
now()
qui prenait la place du "pseud" dans la page traitement.php
voici la page corrigé pour ceux qui la voudraient.

<?php

define('DB_SERVER', '*****'); // serveur mysql
define('DB_SERVER_USERNAME', '*****'); // nom d'utilisateur
define('DB_SERVER_PASSWORD', '*****'); // mot de passe
define('DB_DATABASE', '*****'); // nom de la base
 
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, 
DB_SERVER_PASSWORD) 
or die('Impossible de se connecter : ' . mysql_error());

mysql_select_db(DB_DATABASE, $connect);
 
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre ville a bien été enregistré. Pour enregistrer une autre ville veuillez répeter l'opération.";
$message = $msg_erreur;
  
if (empty($_POST['province'])) 
  $message .= "Votre province<br/>";
if (empty($_POST['nomvil1'])) 
  $message .= "Votre ville<br/>";
if (empty($_POST['x1'])) 
  $message .= "Ville X<br/>";
if (empty($_POST['y1'])) 
  $message .= "Y<br/>";
if (empty($_POST['membre'])) 
  $message .= "membre<br/>"; 
 
if (strlen($message) > strlen($msg_erreur)) {
 
  echo $message;
 
} else {
 
  foreach($_POST as $index => $valeur) {
    $$index = mysql_real_escape_string(trim($valeur));
  }
 
  $interets = $_POST['interets'];
  $sqlinterets = '';
  for ($i=0; $i<count($interets); $i++)
  {
    $sqlinterets .= $interets[$i];
    $sqlinterets .= ', ';
  }
 

$sql = "INSERT INTO repertoir VALUES ('".$id."', '".$province."', '".$nomvil1."', '".$x1."', '".$y1."', '".$pseud."')";

$res = mysql_query($sql);
 
  if ($res) {
    echo $msg_ok;
  } else {
    echo mysql_error();
  }
 
}
?>




Merci pour tout alain car sans toi je penses que j'aurais pas cherché au bon endroit
0