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

EDI, CMS, Outils, Scripts et API PHP Discussion :

[phpBB] Créer un id_page


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Mars 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mars 2014
    Messages : 5
    Par défaut [phpBB] Créer un id_page
    Bonjour,

    J'utilise un petit script pour voter sur mon site :

    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    //Connexion à la base de données
    mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
    //Vérification d'accès à la base de données
    mysql_select_db("$nom_de_la_base")  or die ('Erreur :'.mysql_error());
     
     
    //Fonction pour la notation
    function notation($id_vote,$ip_vote){
     
        //L'utilisateur a t'il déja voté?
        $deja_voter = mysql_query("SELECT ip FROM note WHERE ip = '".mysql_real_escape_string($ip_vote)."' AND id_page = '".mysql_real_escape_string($id_vote)."'");
     
        //L'utilisateur n'a pas voté, on montre le formulaire
        if(mysql_num_rows($deja_voter) == 0)
        {
            echo '     <form name="monform" id="monform" method="post">     <label>Noter cet article</label>     <select name="note" onchange="javascript:submit(this)">     <option value="">Note</option>     <option value="0">0</option>        <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>     </select>     </form>     ';
        }   
     
        //Si action de valider et que la note est différent de vide
        if(isset($_POST['note']) && $_POST['note'] != NULL){
            //On vérifie si le cookie existe et si tel est le cas, c'est que l'utilisateur tente de voter plusieurs fois
            if(isset($_COOKIE["deja_voter"]) && $_COOKIE["deja_voter"] == $id_vote){
                die ("Un seul vote autorisé ... merci!"); }		
     
    		        //Note de l'utilisateur
            $note = $_POST['note'];
                   //Insertion en BDD
            $insert = mysql_query("INSERT INTO note (id_page, note, ip) VALUES ('$id_vote', '$note', '$ip_vote') ");
     
            //Si il y a une erreur
            if(!$insert) {
                die('Requête invalide : ' . mysql_error());
            }
            //Tout est ok, on informe et on redirige
            else{
     
                echo 'Merci d\'avoir note cet article! <br/>         Chargement en cours <img alt="Loading" src="images/images-vote/loading.gif" style="width:32px;height:32px;"/>           <script type="text/javascript">                 document.getElementById("monform").innerHTML = "";         window.setTimeout(function(){self.location.href="'.$_SERVER['REQUEST_URI'].'";},3000);         </script>';
     
            }
        }
     
        //Combien d'utilisateurs ont votés?
        $nombre_vote = mysql_query("SELECT id FROM note WHERE id_page = '".mysql_real_escape_string($id_vote)."'");
        $total_vote = mysql_num_rows($nombre_vote);
        if($total_vote != 0){
            echo '<span class="review hreview-aggregate">Nombre de vote : <span class="count">'.$total_vote.'</span><br/>';
     
        }
     
        //Total des votes des utilisateurs
        $calcul_vote = mysql_query("SELECT SUM(note) AS totalmoyenne FROM note WHERE id_page = '".mysql_real_escape_string($id_vote)."'");
        $data = mysql_fetch_array($calcul_vote);
        $total_calcul_vote = $data['totalmoyenne'];
        if($total_calcul_vote != 0){
            echo 'Total des votes : <span class="rating">'.$total_calcul_vote.'</span></span><br/>';   
        }
     
        //Moyenne des votes des utilisateurs
        if($total_vote != NULL && $total_calcul_vote != NULL){
            $moyenne = number_format($total_calcul_vote/$total_vote, 2, ',', '');
            //Si les 2 chiffres après la virgule sont 2 zéros, on les suppriment pour obtenir un entier
            echo 'Note : '.str_replace(',00','',$moyenne).'/5';
            //On affiche les étoiles
            for($i=1; $i<=$moyenne;$i++){
                echo '<img alt="'.$i.'" src="images/images-vote/etoile.png" style="width:32px;height:32px;"/>';
            }
        }
        else{
            echo 'Aucun vote pour le moment.';
        }
    }
    ?>
    Seulement l'argument dans la page HTML est à rensigner manuellement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    notation ('5', $ip_vote);
    pour page 5.

    Je n'arrive pas à trouver le moyen pour que les id de mes posts existants dans la table "table_topics" (topic_id) de ma base de données soit récupéré par une variable du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    notation ($variable, $ip_vote);
    En fait ma difficulté et d'aller chercher des infos dans une table A (table_topic) pour les collecter ensuite dans une table B (note).

    Un peu d'explication pourrait m'aider.

    Merci

  2. #2
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Par défaut
    que contient ta table_topic ?

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Mars 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mars 2014
    Messages : 5
    Par défaut Suite
    Bonjour et merci d'accepter de te pencher sur mon problème.

    La table contient ceci :

    Code other : 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
    topic_id	mediumint(8)		UNSIGNED	Non	Aucune	AUTO_INCREMENT	 Modifier	 Supprimer	 plus Montrer d'autres actions
    forum_id	mediumint(8)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    icon_id	mediumint(8)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_attachment	tinyint(1)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_approved	tinyint(1)		UNSIGNED	Non	1		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_reported	tinyint(1)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_title	varchar(255)	utf8_unicode_ci		Non			 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_poster	mediumint(8)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_time	int(11)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_time_limit	int(11)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_views	mediumint(8)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_replies	mediumint(8)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_replies_real	mediumint(8)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_status	tinyint(3)			Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_type	tinyint(3)			Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_first_post_id	mediumint(8)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_first_poster_name	varchar(255)	utf8_bin		Non			 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_first_poster_colour	varchar(6)	utf8_bin		Non			 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_last_post_id	mediumint(8)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_last_poster_id	mediumint(8)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_last_poster_name	varchar(255)	utf8_bin		Non			 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_last_poster_colour	varchar(6)	utf8_bin		Non			 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_last_post_subject	varchar(255)	utf8_bin		Non			 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_last_post_time	int(11)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_last_view_time	int(11)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_moved_id	mediumint(8)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_bumped	tinyint(1)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_bumper	mediumint(8)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    poll_title	varchar(255)	utf8_bin		Non			 Modifier	 Supprimer	 plus Montrer d'autres actions
    poll_start	int(11)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    poll_length	int(11)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    poll_max_options	tinyint(4)			Non	1		 Modifier	 Supprimer	 plus Montrer d'autres actions
    poll_last_vote	int(11)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    poll_vote_change	tinyint(1)		UNSIGNED	Non	0		 Modifier	 Supprimer	 plus Montrer d'autres actions
    topic_url

  4. #4
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Par défaut
    sur quelle information te base tu pour connaitre id de la page ?

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Mars 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mars 2014
    Messages : 5
    Par défaut
    Alors c'est géré par la colonne topic_id

    En fait voici une url : -http://www.ceinfo.fr/Forum/moules-farcies-a-la-creme-t3.html

    L'id de la page c'est 3. Le topic a le numéro 3 dans topic_id.



    phpbb l'appelle en html {topic_id} mais en php quand je remplace cette variable par $topic_id ça ne fonctionne pas.

    J'en déduis que cette info n'est pas communiqué à mon script de notation.

  6. #6
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Par défaut
    "topic_url" ne contient-t-il pas l'url de ta page ?

  7. #7
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Par défaut
    phpbb ne contient pas déjà un système de vote ?

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Mars 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mars 2014
    Messages : 5
    Par défaut
    "topic_url" ne contient-t-il pas l'url de ta page ?
    Je pense oui, mais je crois que du côté php il faut renseigner un chiffre, une url ne passera peut-être pas.

    phpbb ne contient pas déjà un système de vote ?
    Et non justement, un système de sondage, mais pas de vote.

    En fait si je rentre la variable {topic_id} dans le html de la page, le numéro du topic s'affiche.

    Seulement mon script est en php et quand je mets $topic_id dans le script du php, le numéro de la page ne s'affiche plus. IL devrait non ?

  9. #9
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Par défaut
    ajoute le code ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function notation($id_vote,$ip_vote){
    echo "<xmp>";
    var_dump($GLOBAL);
    echo "</xmp>"; 
    exit;
    
        //L'utilisateur a t'il déja voté?
        $deja_voter = mysql_query("SELECT ip FROM note WHERE ip = '".mysql_real_escape_string($ip_vote)."' AND id_page = '".mysql_real_escape_string($id_vote)."'");
    cela permettra de voir a cet endroit les variables disponibles et leur contenu

  10. #10
    Futur Membre du Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Mars 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mars 2014
    Messages : 5
    Par défaut
    Désolé toujours pas.

    Il s'affiche ceci à la place du script :
    Et fin de la page, tout texte ou image en dessous n'est plus affiché.

    Merci de ton aide, je sais que ce n'est pas facile.

Discussions similaires

  1. Bon choix pour créer un forum PHPBB
    Par loloworld dans le forum Langage
    Réponses: 2
    Dernier message: 13/05/2014, 14h19
  2. [phpBB] Forum non créer
    Par fatjoe dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 25/09/2009, 23h44
  3. [phpBB] Créer une signature avec compteur
    Par rocket_270 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 09/03/2007, 11h40
  4. [phpBB] Créer un nouveau cookie
    Par cybertj dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 16/09/2006, 01h23
  5. [phpBB] Créer un forum gratuit ET sans pub...
    Par mathieu_t dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 20/04/2006, 10h57

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