Php problème de variable

Fermé
alexbigfoug - 21 oct. 2009 à 00:06
 alexbigfoug - 25 oct. 2009 à 17:34
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

21 réponses

Bonjour

Comme tu te compliques la vie...
$date_nais_memb=$_POST['annee']."-".$_POST['mois']."-".$_POST['jour'];
Le addslashes n'a rien à faire ici.(Un stripslashes pourrait s'expliquer mais passons...)
Le echo non plus : il ne sert qu'à afficher.
1
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
25 oct. 2009 à 15:15
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 \

exemple
echo 'il habite a l\'arbresle';
1
alexbigfoug
21 oct. 2009 à 17:32
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^^
0
alexbigfoug
21 oct. 2009 à 17:35
Heu rectification !!! L'adresse membre fonctionne... (j'avais le name de ma textbox qui étais écrit "adre_memb")

Oups^^
0

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

Posez votre question
alexbigfoug
21 oct. 2009 à 23:49
Up !!!!! please
0
alexbigfoug
23 oct. 2009 à 14:05
up !
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
23 oct. 2009 à 14:38
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 >
0
alexbigfoug
23 oct. 2009 à 19:06
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
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
23 oct. 2009 à 19:55
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 !!
0
alexbigfoug
23 oct. 2009 à 21:11
<select name="annee" value="annee">
<?php
for($an=1900;$an < 2011;$an++)
{
echo'<option>'; echo $an; echo'<br />'; echo '</option>';
}
?>

Bah si pourtant...
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
24 oct. 2009 à 09:39
<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>


0
alexbigfoug
24 oct. 2009 à 11:16
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
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
24 oct. 2009 à 13:37
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())';
0
alexbigfoug
24 oct. 2009 à 14:22
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();
}
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
24 oct. 2009 à 17:43
ha bon pourtant pour moi:

$date_nais_memb au niveau chargement variable

est differend de:

$date_nais_membre au niveau sql=...
0
alexbigfoug
24 oct. 2009 à 17:51
arf oui je n'avais pas fait attention...

Par contre j'ai fait le changement, mais cela ne fonctionne toujours pas...
0
alexbigfoug
24 oct. 2009 à 18:39
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
0
alexbigfoug
25 oct. 2009 à 11:40
Up !!
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
25 oct. 2009 à 13:23
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
0
alexbigfoug
25 oct. 2009 à 14:50
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/
0

Discussions similaires