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

Langage PHP Discussion :

[PHP-JS] bug qui n'aparraissait pas avant sur une requete


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 18
    Points : 9
    Points
    9
    Par défaut [PHP-JS] bug qui n'aparraissait pas avant sur une requete
    Bonjour
    Depuis cet apres midi, je n'arrive pas à corriger un bug.
    Sur le forum que je cree, lorsque je cree un nouveau topic, il s'affiche "un probleme est survenue lors de l'envoi du message".
    Et le message ne s'enregistre donc pas.
    Voici le code en question de la page de traitement d'un nouveau topic:
    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
    case "nouveautopic":
     
    $message = htmlspecialchars($_POST['sig'], ENT_QUOTES);
    $message = nl2br($message);
     
    $titre = htmlspecialchars($_POST['titre'], ENT_QUOTES);
     
     
    $forum = $_GET['f'];
    $temps = time();
     
    if (empty($_POST['sig']) || empty($_POST['titre']))
    {
    echo'<h4>Votre message ou votre titre est vide, cliquez <a href="./poster.php?action=nouveautopic&f='.$forum.'">ici</a> pour recommencer</h4>';
    }
    else //Si jamais le message n'est pas vide
    {
     
    mysql_query("INSERT INTO forum_topic 
    (forum_id, topic_titre, topic_createur, topic_vu, topic_time, topic_genre, topic_last_post, topic_post) 
    VALUES('".$forum."', '".$titre."', '".$_SESSION['id']."', '1', '".$temps."','".$_POST['mess']."', '0', '0'  )") 
    or die ("Un problème est survenu lors de l'envoi du message");
     
    $nouveautopic = mysql_insert_id();
     
     
    mysql_query("INSERT INTO forum_post 
    (post_id, post_createur, post_texte, post_time, topic_id, post_forum_id)
    VALUES(',' ,'".$_SESSION['id']."', '".$message."', '".$temps."', '".$nouveautopic."', '".$forum."')") 
    or die ("Un problème est survenu lors de l'envoi du message");
     
    $nouveaupost = mysql_insert_id();
     
     
    mysql_query("UPDATE forum_topic 
    SET topic_last_post = '".$nouveaupost."', 
    topic_first_post = '".$nouveaupost."' 
    WHERE topic_id = '".$nouveautopic."'") 
    or die ("Un problème est survenu lors de l'envoi du message");
     
     
     
    mysql_query("UPDATE forum_forum 
    SET forum_post = forum_post + 1 , 
    forum_topic = forum_topic + 1, 
    forum_last_post_id = '".$nouveaupost."' 
    WHERE forum_id = '".$forum."'") 
    or die ("Un problème est survenu lors de l'envoi du message");
     
    mysql_query("UPDATE forum_membres 
    SET membre_post = membre_post + 1  
    WHERE membre_id = '".$_SESSION['id']."'") 
    or die ("Un problème est survenu lors de l'envoi du message");
     
     
    echo'<h4><font color="maroon">Votre message a bien été ajouté!</font><br/><br>Cliquez <a href="./indexforum.php">ici</a> pour revenir à l\'index du forum<br><br/>Cliquez <a href="./voirtopic.php?t='.$nouveautopic.'">ici</a> pour le voir</h4>';
    }
    break;
    La partie qui bug est celle-la:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    mysql_query("INSERT INTO forum_topic
    (forum_id, topic_titre, topic_createur, topic_vu, topic_time, topic_genre, topic_last_post, topic_post)
    VALUES('".$forum."', '".$titre."', '".$_SESSION['id']."', '1', '".$temps."','".$_POST['mess']."', '0', '0'  )")
    or die ("Un problème est survenu lors de l'envoi du message");
    Comme cela n'apparassait pas avant alors que le code était le même d'ou peut venir le problème?
    Merci beaucoup d'avance
    ++

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    As-tu essayé d'afficher la requete créée avant de l'exécuter? Pour voir si une partie de tes données ne seraient pas vides par exemple. Je sais que ca fonctionnait avant, mais on ne sait jamais!

    Dans ton die, ajoutes un mysql_error() pour voir l'erreur si ca vient de la requete (ce qui semble etre le cas)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    salut
    merci de m'aider
    j'ai mis un mysql_error et maintenant il apparait cela: "Duplicate entry '0' for key 2"

    Si quelqu'un a une idéee de ce qu'il faut faire..;
    Merci beaucoup

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 131
    Points : 132
    Points
    132
    Par défaut
    Dans la table forum_topic je suppose qu'il y a un champ numérique à incrément auto qui sert de clé primaire. Il n'aurait pas fait le tour du compteur ?

Discussions similaires

  1. Détecter un bug qui n'est pas visible par tous
    Par Droïde Système7 dans le forum Débuter
    Réponses: 9
    Dernier message: 01/04/2009, 20h17
  2. Réponses: 9
    Dernier message: 20/09/2008, 22h56
  3. [PHP-JS] Script qui ne finit pas
    Par kabkab dans le forum Langage
    Réponses: 4
    Dernier message: 08/06/2007, 14h20
  4. [PHP-JS] header() qui ne fonctionne pas
    Par Panther dans le forum Langage
    Réponses: 17
    Dernier message: 18/04/2007, 08h42
  5. [php-mysql] requête qui ne marche pas....
    Par sanosuke85 dans le forum Requêtes
    Réponses: 1
    Dernier message: 09/01/2006, 18h18

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