Erreur avec php pour la date (mysql)
Résolu
glodybiss
Messages postés
440
Date d'inscription
Statut
Membre
Dernière intervention
-
Mihawk Messages postés 4315 Date d'inscription Statut Contributeur Dernière intervention -
Mihawk Messages postés 4315 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Voici l'erreur qui apparait quand j'essaie d'ajouter la date dans mon formulaire d'inscription
Voici la ligne 24 de mon Code
Une aide s'il vous plait!
Voici l'erreur qui apparait quand j'essaie d'ajouter la date dans mon formulaire d'inscription
Fatal error: Call to undefined function birthday() in C:\wamp\www\internetservices\ajoutAgent.php on line 24
Voici la ligne 24 de mon Code
$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').'"';
Une aide s'il vous plait!
A voir également:
- Erreur avec php pour la date (mysql)
- Mysql community server - Télécharger - Bases de données
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Airpods 3 date de sortie - Guide
- Erreur 0x80070643 - Accueil - Windows
- Jm date avis - Forum Consommation & Internet
5 réponses
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
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 ?
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>
<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']
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/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Hello,
glodybiss tu t'égares : d'où sort cette fonction "birthday" ?!
glodybiss tu t'égares : d'où sort cette fonction "birthday" ?!
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>
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 !