IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Problème avec mon script


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 11
    Points : 5
    Points
    5
    Par défaut Problème avec mon script
    Bonjour

    Bon alors je vous explique mon problème, voici une partie de mon furmulaire (qui marche très bien ) :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    <?php
                <strong>Date de début du concours :</strong><br />
                <select name="date1">
                      <option value="1">1</option>
                      <option value="2">2</option>
                      <option value="3">3</option>
                      <option value="4">4</option>
                      <option value="5">5</option>
                      <option value="6">6</option>
                      <option value="7">7</option>
                      <option value="8">8</option>
                      <option value="9">9</option>
                      <option value="10">10</option>
                      <option value="11">11</option>
                      <option value="12">12</option>
                      <option value="13">13</option>
                      <option value="14">14</option>
                      <option value="15">15</option>
                      <option value="16">16</option>
                      <option value="17">17</option>
                      <option value="18">18</option>
                      <option value="19">19</option>
                      <option value="20">20</option>
                      <option value="21">21</option>
                      <option value="22">22</option>
                      <option value="23">23</option>
                      <option value="24">24</option>
                      <option value="25">25</option>
                      <option value="26">26</option>
                      <option value="27">27</option>
                      <option value="28">28</option>
                      <option value="29">29</option>
                      <option value="30">30</option>
                      <option value="31">31</option>
                </select>
                 / 
                <select name="date2">
                      <option value="01">01</option>
                      <option value="02">02</option>
                      <option value="03">03</option>
                      <option value="04">04</option>
                      <option value="05">05</option>
                      <option value="06">06</option>
                      <option value="07">07</option>
                      <option value="08">08</option>
                      <option value="09">09</option>
                      <option value="10">10</option>
                      <option value="11">11</option>
                      <option value="12">12</option>
                </select>
                 / 
                 <select name="date3">
                      <option value="2006">2006</option>
                      <option value="2007">2007</option>
                </select><br/><br/>
     
                <label for="duree"><strong>Durée :</strong></label><br />
                <strong>1 semaine</strong> <input name="duree" type="radio" value="1" /><br/>
                <strong>2 semaines</strong> <input name="duree" type="radio" value="2"/><br/><br/>
    ?>
    Et un bout du script qui va avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    <?php
                            //Créér une compétition
                            if(!empty($_POST['creer']) && !empty($_POST['nom_concour']) && !empty($_POST['date1']) && !empty($_POST['date2']) && !empty($_POST['date3']) && !empty($_POST['duree']) && !empty($_POST['message']))
                            {
                                  $timestamp = mktime(0, 0, 0, $_POST['date2'], $_POST['date1'], $_POST['date3']);
                                  if($_POST['duree'] == 1)
                                  {
                                        $timestamp2 = $timestamp + 3600 * 24 * 7;
                                  }
                                  elseif($_POST['duree'] == 2)
                                  {
                                        $timestamp2 = $timestamp + 3600 * 24 * 7;
                                  }
     
                                  // ----------------------------------- L'erreur de date se trouve dans cette partie ------------------------------------
                                  $compt_sql = mysql_query("SELECT COUNT(*) AS nbre_compet FROM perso_admin WHERE concour='".$_POST['nom_coucour']."'");
                                  $compt =  mysql_fetch_array($compt_sql);
                                  if($compt['nbre_compet'] == 0)
                                  {
                                        if(mysql_query("INSERT INTO perso_admin(concour, date1, date2, message, id) VALUES('".mysql_real_escape_string($_POST['nom_concour'])."', '".$timestamp."', '".$timestamp2."', '".mysql_real_escape_string($_POST['message'])."', '')"))
                                        {
                                              echo '<strong>Concour '.nl2br(htmlspecialchars($_POST['nom_concour'])).' créé !</strong>';
                                        }
                                        else
                                        {
                                              echo '<strong>Erreur lors de la création du concour, veuillez recommencer ultérieurement !</strong>';
                                        }
                                  }
                                  else
                                  {
                                        echo '<strong>Une compétition en cours porte déjà ce nom ! Vous avez peut être envoyé deux fois la même information en actualisant !</strong>';
                                  }
                                  // ----------------------------------------------------------------------------------------------------------------------------------
                            }
    ?>
    Mon problème :

    Tout marche super bien, aucunes erreurs MySQL ... mais celà enregistre un timestamp de 0000000... L'erreur se trouve entre les 2 :
    // -------------------- ...
    Je le sais car j'ai remplacé cette partie par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<strong>'.$timestamp.'<br/>'.$timestamp2.'</strong>' ;
    Et celà affichait les bons timestamps !


    Help

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Et la connexion à la bdd elle est faite ??

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Oui bien sur il n'y a aucuns problèmes avec Mysql, les informations sont bien rentrés, seul les deux timestamps ne marchent pas et enregistrent 00000000000000 ! Pourtant les deux variables sont bien les bonnes et vallent bien la valeur désiré !

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Demandes un affichage de la requete (sans l'execution) pour voir ce que ca donne.

    Sinon testes avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ".$timestamp.", ".$timestamp2."

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ".$timestamp.", ".$timestamp2."
    Déjà éssayé ! Je viens même de refaire un éssai et non ce n'est pas celà du tout ...

    --

    J'ai remplacé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    						if(mysql_query("INSERT INTO perso_admin(concour, date1, date2, message, id) VALUES('".mysql_real_escape_string($_POST['nom_concour'])."', ".$timestamp.", ".$timestamp2.", '".mysql_real_escape_string($_POST['message'])."', '')"))
    						{
    							echo '<strong>Concour '.nl2br(htmlspecialchars($_POST['nom_concour'])).' créé !</strong>';
    						}
    						else
    						{
    							echo '<strong>Erreur lors de la création du concour, veuillez recommencer ultérieurement !</strong>';
    						}
    Par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "INSERT INTO perso_admin(concour, date1, date2, message, id) VALUES('".mysql_real_escape_string($_POST['nom_concour'])."', ".$timestamp.", ".$timestamp2.", '".mysql_real_escape_string($_POST['message'])."', '')";
    Et voilà ce que celà affiche

    INSERT INTO perso_admin(concour, date1, date2, message, id) VALUES('Test', 1178661600, 1179266400, 'Ceci est un éssai ...', '')

    Merci au moins je sais maintenant un peut mieux où se trouve l'erreur ! Mais je ne comprends toujours pas

    Edit : Mon erreur se trouve donc soit dans la conception de la requète, soit dans la base elle même !

    Voici à quoi elle ressemble :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    -- 
    -- Structure de la table `perso_admin`
    -- 
     
    CREATE TABLE `perso_admin` (
      `concour` varchar(50) NOT NULL default '',
      `date1` timestamp(14) NOT NULL,
      `date2` timestamp(14) NOT NULL default '00000000000000',
      `message` text NOT NULL,
      `id` int(100) unsigned NOT NULL auto_increment,
      KEY `id` (`id`)
    ) TYPE=MyISAM AUTO_INCREMENT=9 ;

  6. #6
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Fais ceci alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("INSERT INTO perso_admin(concour, date1, date2, message, id) VALUES('".mysql_real_escape_string($_POST['nom_concour'])."', ".$timestamp.", ".$timestamp2.", '".mysql_real_escape_string($_POST['message'])."', '')") or die(mysql_error());
    Là on verra s'il y a une erreur coté insertion

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Rien ne s'affiche !
    Il a donc fort à parier que l'erreur se trouve dans la base de donnée ! La structure se trouve dans mon précédant message (j'avais édité)

  8. #8
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Moi mes timestamps sont stockés dans des champs : int(11).

    Teste avec ceci pour voir

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Super celà marche !!!

    Merci beaucoup pour ton aide



    Arf alors le type timestamp il sert à quoi ?

  10. #10
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Alors là bonne question il faudrait voir ca coté documentation mysql ou autres

    TIMESTAMP Properties as of MySQL 4.1


    Ah oui de rien

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    C'est sur que c'est un peut merdique

    Merci encore

    a+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec mon script
    Par whyata dans le forum VBScript
    Réponses: 46
    Dernier message: 16/04/2009, 11h31
  2. [PHP-JS] problème avec mon script de connexion
    Par agencep dans le forum Langage
    Réponses: 5
    Dernier message: 31/01/2008, 17h08
  3. [MySQL] Divers petits problèmes avec mon script
    Par fourniey dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 26/12/2007, 16h20
  4. Problème avec mon script shell case in esac
    Par Olivier Regnier dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 28/06/2007, 22h54
  5. [Mail] Problème avec mon script d'envoi de mail
    Par leroivert dans le forum Langage
    Réponses: 18
    Dernier message: 02/12/2005, 00h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo