Php problème de variable
Bonjour tous le monde !!!
$date_nais_memb=echo'(addslashes($_POST['annee'])"-"addslashes($_POST['mois'])"-"addslashes($_POST['jour']))';
Bon voilà, je me doute que cela ne marchera pas ce que j'ai fais...
Alors que je vous explique un peu, en faite j'ai 3 variables (annee, mois, jour) qu'un utilisateur choisit dans des listes choix.
Je voudrais que mes trois variables se colle pour n'en former qu'une seul sous la forme XXXX-XX-XX
Ex: 1989-11-18 <---- $date_nais_memb
J'espères que mes explications n'étais pas trop farfelus...
Je vous remercie d'avance de votre aide^^
Bonne soirée
$date_nais_memb=echo'(addslashes($_POST['annee'])"-"addslashes($_POST['mois'])"-"addslashes($_POST['jour']))';
Bon voilà, je me doute que cela ne marchera pas ce que j'ai fais...
Alors que je vous explique un peu, en faite j'ai 3 variables (annee, mois, jour) qu'un utilisateur choisit dans des listes choix.
Je voudrais que mes trois variables se colle pour n'en former qu'une seul sous la forme XXXX-XX-XX
Ex: 1989-11-18 <---- $date_nais_memb
J'espères que mes explications n'étais pas trop farfelus...
Je vous remercie d'avance de votre aide^^
Bonne soirée
Configuration: Windows Vista Firefox 3.0.14
21 réponses
-
Parfait cela fonctionne !!!
Je te remercie énormement du coup de main que tu m'as apporté, et également des quelques conseils^^ -
tes codes de listes déroulantes sont a reprendre:
fais les comme ça avec un seul echo à chaque fois<select name="annee"> <?php for($an=1900;$an < 2011;$an++) { echo '<option value="'.$an.'">'.$an.'</option>\n'; } ?> </select>
tu avais fait une concaténation bizarre
il faut faire par exemple:echo 'du texte meme avec des " doubles'.$variable.'encore du texte'.$autre_variable.'encore du text';
par contre si tu as dans le texte entre les' un guillemet simple ' un une paostrophe il faut l'échapper par \
exempleecho 'il habite a l\'arbresle';
-
J'ai changé DATE par TEXT pour ne pas avoir de problème...
Là il y a tout
Image 1: formulaire XHTML, liste de choix pour une date de naissance (annee, mois, jour)
https://imageshack.com/
Image 2: envoie des valeurs dans la base de donnée MySql, l' année, le mois et le jour ne forme plus qu'une variable $date_nais_memb.
https://imageshack.com/
Image 3: résultat dans la base de donnée, les variables sont restés vide...elles n'ont pas pris de valeurs...
https://imageshack.com/ -
J'ai changé le format sur mysql
quel faomat as tu mis ? DATE ?
et je viens de voir que je n'envoyais pas de valeur avec mes variable...
?????
donnes le code que tu as actuellement pour cahrger la variable $date_nais_menbre
et sql=
sans cela comment veux tu que l'on trouve -
Up !!
-
J'ai changé le format sur mysql et je viens de voir que je n'envoyais pas de valeur avec mes variable...
Je récupère ça : $an-$mois-$jour au lieu de ça auparavant 0000-00-00 -
arf oui je n'avais pas fait attention...
Par contre j'ai fait le changement, mais cela ne fonctionne toujours pas... -
ha bon pourtant pour moi:
$date_nais_memb au niveau chargement variable
est differend de:
$date_nais_membre au niveau sql=... -
C'est pourtant ce que j'ai fait...
$date_nais_memb=$_POST['annee']."-".$_POST['mois']."-".$_POST['jour'];
if ($data[0] == 0)
{
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.md5(mysql_escape_string($_POST['pass'])).'", "utilisateur", "'.addslashes($_POST['nom_memb']).'", "'.addslashes($_POST['prenom_memb']).'", "'.addslashes($_POST['adr_memb']).'", "'.addslashes($_POST['ville_memb']).'", "'.addslashes($_POST['CP_memb']).'", "'.$date_nais_membre.'", NOW())';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: inscription_ok.php');
exit();
} -
un peu d'attention arrangera bien les choses !
tu charges la variable $date_nais_memb=$_POST...
et ensuite tu ecris dans ta base avec la variable :
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.md5(mysql_escape_string($_POST['pass'])).'", "utilisateur", "'.addslashes($_POST['nom_memb']).'", "'.addslashes($_POST['prenom_memb']).'", "'.addslashes($_POST['adr_memb']).'", "'.addslashes($_POST['ville_memb']).'", "'.addslashes($_POST['CP_memb']).'", "'.$date_nais_membre.'", NOW())'; -
J'ai bien fait comme tu me l'as demandé, mais toujours rien...
Je n'est plus l'erreur en haut de page
Mais quand je reçois les données dans la base, la date est 0000-00-00 -
<select name="annee" value="annee">
<?php
for($an=1900;$an < 2011;$an++)
{
echo'<option>'; echo $an; echo'<br />'; echo '</option>';
}
?>
value= ce n'est pas dans le select qu'il faut le mettre mais dans <option !
<select name="annee"> <?php for($an=1900;$an < 2011;$an++) { echo'<option value="$an">$an</option>\n'; // regardes d'un peu plus près la concaténation en php et pourquoi le <br >? il faut \n pour passer a la ligne dans ce cas } ?> </select> -
<select name="annee" value="annee">
<?php
for($an=1900;$an < 2011;$an++)
{
echo'<option>'; echo $an; echo'<br />'; echo '</option>';
}
?>
Bah si pourtant... -
Undefined index: annee
veut justement dire que tu n'as pas dans ton formualire de champ (texte ou liste déroulante) qui se nomme annee
attention avec exactement la même casse et la même orthographe
et surtout pas d'accent !! -
Oui, tous ça, c'est ok !!!
le message d'erreur est celui-ci
Notice: Undefined index: annee in C:\wamp\www\Site_internet\inscription.php on line 2 -
il faut que avant la ligne: sql=... tu ait la ligne qui charge la variable $date_nais_menbre
$date_nais_memb=$_POST['annee']."-".$_POST['mois']."-".$_POST['jour']; $sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.md5(mysql_escape_string($_POST['pass'])).'", "utilisateur", "'.addslashes($_POST['nom_memb']).'", "'.addslashes($_POST['prenom_memb']).'", "'.addslashes($_POST['adr_memb']).'", "'.addslashes($_POST['ville_memb']).'", "'.addslashes($_POST['CP_memb']).'", "'.$date_nais_membre.'", NOW())';
et est ce que tes listes deroulantes ont bien pour name annee mois jour ?
et as tu bien mis une value= dans <option > -
up !
-
Up !!!!! please
-
Heu rectification !!! L'adresse membre fonctionne... (j'avais le name de ma textbox qui étais écrit "adre_memb")
Oups^^ -
Houlà!!! oui j'avais fait des bêtise...
Bon comme tu vas pouvoir le voir je ne uis pas très ordonné dans mon code...
J'ai bien mis ce que tu m'as dis mais j'ai toujours une erreur...
Mais je penses que l'erreur vient de ma requête...
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.md5(mysql_escape_string($_POST['pass'])).'", "utilisateur", "'.addslashes($_POST['nom_memb']).'", "'.addslashes($_POST['prenom_memb']).'", "'.addslashes($_POST['adr_memb']).'", "'.addslashes($_POST['ville_memb']).'", "'.addslashes($_POST['CP_memb']).'", "'.$date_nais_membre.'", NOW())';
Quand j'envoie, Je recois bien "tout" dans ma base de donné excepter adr_memb et ma date_nais_memb
Bizarre pour l'adresse membres???
Entout cas je te remercie du coup de main^^
- 1
- 2
Suivant