Erreur avec php pour la date (mysql)
Résolu/Fermé
glodybiss
Messages postés
440
Date d'inscription
vendredi 6 juin 2008
Statut
Membre
Dernière intervention
29 juillet 2015
-
20 févr. 2012 à 13:01
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 - 11 avril 2012 à 15:09
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 - 11 avril 2012 à 15:09
A voir également:
- Erreur avec php pour la date (mysql)
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur vidéo freebox ✓ - Forum TV & Vidéo
- Mysql community server - Télécharger - Bases de données
5 réponses
maka54
Messages postés
698
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
20 févr. 2012 à 13:54
20 févr. 2012 à 13:54
la fonction birthday n'existe pas ...
date('Y-m-d') existe
et au passage, tu as 8 champs a insérer et tu ne passes que 7 values donc ta requete plantera
date('Y-m-d') existe
et au passage, tu as 8 champs a insérer et tu ne passes que 7 values donc ta requete plantera
pitxu
Messages postés
689
Date d'inscription
vendredi 7 septembre 2007
Statut
Membre
Dernière intervention
25 mars 2015
94
20 févr. 2012 à 13:54
20 févr. 2012 à 13:54
Bonjour,
la réponse est dans l'erreur, tu fais appel à une fonction php 'birthday' qui est inconnu du serveur. As-tu une telle fonction dans ton code ?
la réponse est dans l'erreur, tu fais appel à une fonction php 'birthday' qui est inconnu du serveur. As-tu une telle fonction dans ton code ?
glodybiss
Messages postés
440
Date d'inscription
vendredi 6 juin 2008
Statut
Membre
Dernière intervention
29 juillet 2015
9
20 févr. 2012 à 15:32
20 févr. 2012 à 15:32
Pitwu il s'agit de deux date, la première c'est la date qui me permet de voir chaque fois qu'un utilisateur à fait des mises à jour son compte et l'autre c'est une date que j'appelle statique, cette date c'est birthday il s'agit de la date d'anniversaire d'un membre.
tito23
Messages postés
305
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
16 janvier 2013
4
20 févr. 2012 à 15:52
20 févr. 2012 à 15:52
les informations du birthday viennent du formulaire?
glodybiss
Messages postés
440
Date d'inscription
vendredi 6 juin 2008
Statut
Membre
Dernière intervention
29 juillet 2015
9
20 févr. 2012 à 16:15
20 févr. 2012 à 16:15
Oui! Voici mon formulaire
<?php if (isset($_POST['Enregistrer']) && $_POST['Enregistrer'] == 'Enregistrer') { if ((isset($_POST['nom']) && !empty($_POST['nom'])) && (isset($_POST['prenom']) && !empty($_POST['prenom'])) && (isset($_POST['password']) && !empty($_POST['password'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm'])) && (isset($_POST['matricule']) && !empty($_POST['matricule']))&& (isset($_POST['privilege']) && !empty($_POST['privilege'])) ) { if ($_POST['password'] != $_POST['pass_confirm']) { $erreur = 'Non concordance des mots de passe fournis.'; } if (isset($_POST['matricule']) != preg_match("#^CYB\d{3}$#", $_POST['matricule'])){ // On continue le traitement $erreur = 'Le matricule est incorrect'; } else { $base = mysql_connect (DB_HOST, USER_NAME, PASSE_WORD); mysql_select_db (DATA_BASE, $base); $sql = "SELECT count(*) as nb FROM agent WHERE matricule =' ".mysql_escape_string($_POST['matricule'])."'"; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); if ($data['nb'] == 0) { $sql = 'INSERT INTO 'agent' ('id', 'nom', 'prenom', 'password', 'matricule', 'privilege', 'date', 'birthday') VALUES(NULL, "'.mysql_escape_string($_POST['nom']).'","'.mysql_escape_string($_POST['prenom']).'", "'.mysql_escape_string(md5($_POST['password'])).'", "'.mysql_escape_string($_POST['matricule']).'","'.mysql_escape_string($_POST['privilege']).'","'.birthday('Y-m-d').'"'; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); echo '<div class="succes">Agent enregistré avec succes</br></div>'; exit(); } else { $erreur = 'Ce matricule est déja utilisé par un utilisateur existe deja dans le systeme'; } } } else { $erreur = 'Au moins un des champs est vide.'; } } ?> <div id="boxAgent"> <form action="" method="post" name="form1" id="form1"> <table> <?php if (isset($erreur)) { echo '<div id="info" class="error">'.$erreur.'</div><!--error-->'; } ?> <br/><br/> <h4>Nouvel agent</h4> <tr> <td class="td">Nom</td> <td> <input type="text" name="nom" class="input_ajout_agent" value="<?php if (isset($_POST['nom'])) echo htmlentities(trim($_POST['nom'])); ?>" ></td> </tr> <tr> <td>Prenom</td> <td > <input type="text" name="prenom" class="input_ajout_agent" value="<?php if (isset($_POST['prenom'])) echo htmlentities(trim($_POST['prenom'])); ?>" ></td> </tr> <tr> <td>Mot de passe</td> <td > <input type="password" name="password" class="input_ajout_agent" value="<?php if (isset($_POST['password'])) echo htmlentities(trim($_POST['password'])); ?>" ></td> </tr> <tr> <td>Confirmer</td> <td > <input type="password" name="pass_confirm" class="input_ajout_agent" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>" ></td> </tr> <tr> <td>Matricule</td> <td> <input type="text" class="input_ajout_agent" name="matricule" value="<?php if (isset($_POST['matricule'])) echo htmlentities(trim($_POST['matricule'])); ?>"></td> </tr> <tr> <td>Privilege</td> <td> <select name="privilege" class="input_ajout_agent" value="<?php if (isset($_POST['privilege'])) echo htmlentities(trim($_POST['privilege'])); ?>" > <option>Administrateur</option> <option>Utilisateur</option> </select> </td> </tr> </tr> <td>Anniversaire</td> <td > <select class="select" name="birthday" value="<?php if (isset($_POST['birthday'])) echo htmlentities(trim($_POST['birthday'])); ?>" ><option>Date</option> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option> <option>11</option> <option>12</option> <option>13</option> <option>14</option> <option>15</option> <option>16</option> <option>17</option> <option>18</option> <option>19</option> <option>20</option> <option>21</option> <option>22</option> <option>23</option> <option>24</option> <option>25</option> <option>26</option> <option>27</option> <option>28</option> <option>29</option> <option>30</option> <option>31</option> </select> <select> <option>Mois</option> <option>Janvier</option> <option>Février</option> <option>Mars</option> <option>Avril</option> <option>Mai</option> <option>Juin</option> <option>Juillet</option> <option>Août</option> <option>Septembre</option> <option>Octobre </option> <option>Novembre</option> <option>Decembre</option> </select> <select> <option>Année</option> <option>1989</option> <option>1988</option> <option>1987</option> <option>1986</option> <option>1986</option> <option>1986</option> <option>1985</option> <option>1984</option> <option>1983</option> <option>1982</option> <option>1981</option> <option>1980</option> <option>1979</option> <option>1978</option> <option>1977</option> <option>1976</option> <option>1975</option> <option>1974</option> <option>1973</option> <option>1972</option> <option>1971</option> <option>1970</option> <option>1969</option> <option>1968</option> <option>1967</option> <option>1966</option> <option>1965</option> <option>1964</option> <option>1963</option> <option>1962</option> <option>1961</option> <option>1960</option> <option>1959</option> <option>1958</option> <option>1957</option> <option>1956</option> <option>1955</option> <option>1954</option> <option>1953</option> <option>1952</option> <option>1951</option> <option>1950</option> <option>1949</option> <option>1948</option> <option>1947</option> <option>1946</option> <option>1945</option> <option>1944</option> <option>1943</option> <option>1942</option> <option>1941</option> <option>1940</option> </select> </td> </tr> <tr> <td>Fonction</td> <td><input type="text" name="fonction" class="input_ajout_agent" value="<?php if (isset($_POST['fonction'])) echo htmlentities(trim($_POST['fonction'])); ?>" ></td> </tr> <tr> <td><input type="reset" name="Enregistrer" class="submi" value="Recommencer" /></td> <td><input type="submit" name="Enregistrer" class="submi" value="Enregistrer" /></td> </tr> </table> </form></div>
tito23
Messages postés
305
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
16 janvier 2013
4
20 févr. 2012 à 16:28
20 févr. 2012 à 16:28
au lieu de birthday('y-m-d) met $_POST['birthday']
tito23
Messages postés
305
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
16 janvier 2013
4
20 févr. 2012 à 16:41
20 févr. 2012 à 16:41
<select class="select" name="jour" value="<?php if (isset($_POST['birthday'])) echo htmlentities(trim($_POST['birthday'])); ?>" ><option>Date</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
<select name="mois">
<option>Mois</option>
<option>Janvier</option>
<option>Février</option>
<option>Mars</option>
<option>Avril</option>
<option>Mai</option>
<option>Juin</option>
<option>Juillet</option>
<option>Août</option>
<option>Septembre</option>
<option>Octobre </option>
<option>Novembre</option>
<option>Decembre</option>
</select>
<select name="annee">
<option>Année</option>
<option>1989</option>
<option>1988</option>
<option>1987</option>
<option>1986</option>
<option>1986</option>
<option>1986</option>
<option>1985</option>
<option>1984</option>
<option>1983</option>
<option>1982</option>
<option>1981</option>
<option>1980</option>
<option>1979</option>
<option>1978</option>
<option>1977</option>
<option>1976</option>
<option>1975</option>
<option>1974</option>
<option>1973</option>
<option>1972</option>
<option>1971</option>
<option>1970</option>
<option>1969</option>
<option>1968</option>
<option>1967</option>
<option>1966</option>
<option>1965</option>
<option>1964</option>
<option>1963</option>
<option>1962</option>
<option>1961</option>
<option>1960</option>
<option>1959</option>
<option>1958</option>
<option>1957</option>
<option>1956</option>
<option>1955</option>
<option>1954</option>
<option>1953</option>
<option>1952</option>
<option>1951</option>
<option>1950</option>
<option>1949</option>
<option>1948</option>
<option>1947</option>
<option>1946</option>
<option>1945</option>
<option>1944</option>
<option>1943</option>
<option>1942</option>
<option>1941</option>
<option>1940</option>
</select>
et au niveau de php au lieu de mettre birthday('Y-m-d'), mets
switch(strtoupper($_POST['mois'])){
case 'JANVIER': $mois='01'; break;
case 'FEVRIER': $mois='02'; break;
.
.
.
}
$_POST['annee'].'-'.$mois.'-'.$_POST['jour']
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
<select name="mois">
<option>Mois</option>
<option>Janvier</option>
<option>Février</option>
<option>Mars</option>
<option>Avril</option>
<option>Mai</option>
<option>Juin</option>
<option>Juillet</option>
<option>Août</option>
<option>Septembre</option>
<option>Octobre </option>
<option>Novembre</option>
<option>Decembre</option>
</select>
<select name="annee">
<option>Année</option>
<option>1989</option>
<option>1988</option>
<option>1987</option>
<option>1986</option>
<option>1986</option>
<option>1986</option>
<option>1985</option>
<option>1984</option>
<option>1983</option>
<option>1982</option>
<option>1981</option>
<option>1980</option>
<option>1979</option>
<option>1978</option>
<option>1977</option>
<option>1976</option>
<option>1975</option>
<option>1974</option>
<option>1973</option>
<option>1972</option>
<option>1971</option>
<option>1970</option>
<option>1969</option>
<option>1968</option>
<option>1967</option>
<option>1966</option>
<option>1965</option>
<option>1964</option>
<option>1963</option>
<option>1962</option>
<option>1961</option>
<option>1960</option>
<option>1959</option>
<option>1958</option>
<option>1957</option>
<option>1956</option>
<option>1955</option>
<option>1954</option>
<option>1953</option>
<option>1952</option>
<option>1951</option>
<option>1950</option>
<option>1949</option>
<option>1948</option>
<option>1947</option>
<option>1946</option>
<option>1945</option>
<option>1944</option>
<option>1943</option>
<option>1942</option>
<option>1941</option>
<option>1940</option>
</select>
et au niveau de php au lieu de mettre birthday('Y-m-d'), mets
switch(strtoupper($_POST['mois'])){
case 'JANVIER': $mois='01'; break;
case 'FEVRIER': $mois='02'; break;
.
.
.
}
$_POST['annee'].'-'.$mois.'-'.$_POST['jour']
glodybiss
Messages postés
440
Date d'inscription
vendredi 6 juin 2008
Statut
Membre
Dernière intervention
29 juillet 2015
9
21 févr. 2012 à 09:49
21 févr. 2012 à 09:49
Ok, j'essaie et je te dis quoi. Merci beaucoup
Mais je n'ai pas compris une chose par rapport à ceci :
Mais je n'ai pas compris une chose par rapport à ceci :
case 'JANVIER': $mois='01'; break; case 'FEVRIER': $mois='02'; break; . . .
maka54
Messages postés
698
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
21 févr. 2012 à 10:04
21 févr. 2012 à 10:04
il faut mettre des value aux options
plutot que d'utiliser des listes à rallonge et pour etre sur d'avoir une date valide
je te conseille d'utiliser un calendrier :
par exemple avec jquery : https://jquery.com/
et tu ajoutes le plugin datepicker : https://jqueryui.com/datepicker/
<option value="01">Janvier</option> <option value="02">Février</option> <option value="03">Mars</option> ...
plutot que d'utiliser des listes à rallonge et pour etre sur d'avoir une date valide
je te conseille d'utiliser un calendrier :
par exemple avec jquery : https://jquery.com/
et tu ajoutes le plugin datepicker : https://jqueryui.com/datepicker/
tito23
Messages postés
305
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
16 janvier 2013
4
22 févr. 2012 à 10:29
22 févr. 2012 à 10:29
je pense qu'il est débutant, utiliser jquery dans son cas serait du chinois
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
22 févr. 2012 à 11:11
22 févr. 2012 à 11:11
Il n'est pas si débutant que ça mais ne lis pas toujours les réponses en entier !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
22 févr. 2012 à 11:12
22 févr. 2012 à 11:12
Hello,
glodybiss tu t'égares : d'où sort cette fonction "birthday" ?!
glodybiss tu t'égares : d'où sort cette fonction "birthday" ?!
glodybiss
Messages postés
440
Date d'inscription
vendredi 6 juin 2008
Statut
Membre
Dernière intervention
29 juillet 2015
9
22 févr. 2012 à 12:31
22 févr. 2012 à 12:31
Salut Mihawk, je suis là! Je veux juste prendre le temps de travailler dessus parce que juste là ça ne marche pas, j'ai changé mon code en utilisant cette fois-ci date picker, la fonction birthday représente la date d'anniversaire d'un membre dans ma base des données, lorsqu'un membre s'inscrit.
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
22 févr. 2012 à 14:33
22 févr. 2012 à 14:33
Oui mais "la fonction birthday représente la date d'anniversaire d'un membre dans ma base des données" ça ne veut rien dire ! Une fonction ne représente pas une donnée !
glodybiss
Messages postés
440
Date d'inscription
vendredi 6 juin 2008
Statut
Membre
Dernière intervention
29 juillet 2015
9
23 févr. 2012 à 09:24
23 févr. 2012 à 09:24
Salut Mihawk, J'ai encore refait mon code et j'ai utiliser cette fois-ci la date picker mais il se peut que le problème (J'ai toujours ceci dans ma base des données : 0000-00-00)persistes regarde à que ressemble ce que j'ai fait :
html :
$sql = 'INSERT INTO 'cyb_site'('id', 'dateactiv', 'dateinstall') VALUES (NULL, "'.$_POST['dateactiv'].'" , "'.$_POST['dateinstall'].'")'
html :
<table><tr> <td>Date activation</td> <td > <input type="text" id="datepicker" name="dateactiv" class="input_ajout_agent" value="<?php if (isset($_POST['dateactiv'])) echo htmlentities(trim($_POST['dateactiv'])); ?>" > </td> </tr> <tr> <td>Date installation</td> <td > <input type="text" id="datepicker2" name="dateinstall" class="input_ajout_agent" value="<?php if (isset($_POST['dateinstall'])) echo htmlentities(trim($_POST['dateinstall'])); ?>" > </td> </tr></table>
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
23 févr. 2012 à 09:47
23 févr. 2012 à 09:47
À première vue aucun problème...
Et le traitement des tes POST ?
Et le traitement des tes POST ?
maka54
Messages postés
698
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
Modifié par maka54 le 23/02/2012 à 11:16
Modifié par maka54 le 23/02/2012 à 11:16
si il y a un problème, la date que tu recuperes en POST est un format francais (je supppose)
et la date que tu dois mettre en base de données est un format anglo-saxons
donc tu dois transformer la date :
et la date que tu dois mettre en base de données est un format anglo-saxons
donc tu dois transformer la date :
STR_TO_DATE('".$_POST['dateactiv']."','%d/%m/%Y')
20 févr. 2012 à 15:32
Au fait il s'agit de deux date, la première c'est la date qui me permet de voir chaque fois qu'un utilisateur à fait des mises à jour son compte et l'autre c'est une date que j'appelle statique, cette date c'est birthday il s'agit de la date d'anniversaire d'un membre.
Si vous avez des propositions ou une aide à m'apporter par rapport à ce que j'ai fait, s'il vous plait aidez moi comme vous l'avez toujours fait. Merci !