Php problème de variable
alexbigfoug
-
alexbigfoug -
alexbigfoug -
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
A voir également:
- Php problème de variable
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
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.
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.
tes codes de listes déroulantes sont a reprendre:
fais les comme ça avec un seul echo à chaque fois
tu avais fait une concaténation bizarre
il faut faire par exemple:
par contre si tu as dans le texte entre les' un guillemet simple ' un une paostrophe il faut l'échapper par \
exemple
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';
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^^
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^^
Heu rectification !!! L'adresse membre fonctionne... (j'avais le name de ma textbox qui étais écrit "adre_memb")
Oups^^
Oups^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
il faut que avant la ligne: sql=... tu ait la ligne qui charge la variable $date_nais_menbre
et est ce que tes listes deroulantes ont bien pour name annee mois jour ?
et as tu bien mis une value= dans <option >
$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 >
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
le message d'erreur est celui-ci
Notice: Undefined index: annee in C:\wamp\www\Site_internet\inscription.php on line 2
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 !!
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 !!
<select name="annee" value="annee">
<?php
for($an=1900;$an < 2011;$an++)
{
echo'<option>'; echo $an; echo'<br />'; echo '</option>';
}
?>
Bah si pourtant...
<?php
for($an=1900;$an < 2011;$an++)
{
echo'<option>'; echo $an; echo'<br />'; echo '</option>';
}
?>
Bah si pourtant...
<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 !
<?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>
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
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
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())';
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())';
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();
}
$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();
}
ha bon pourtant pour moi:
$date_nais_memb au niveau chargement variable
est differend de:
$date_nais_membre au niveau sql=...
$date_nais_memb au niveau chargement variable
est differend de:
$date_nais_membre au niveau sql=...
arf oui je n'avais pas fait attention...
Par contre j'ai fait le changement, mais cela ne fonctionne toujours pas...
Par contre j'ai fait le changement, mais cela ne fonctionne toujours pas...
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
Je récupère ça : $an-$mois-$jour au lieu de ça auparavant 0000-00-00
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
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
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/
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/