Récupérer l'id d'un topic

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par landry, 24 Mars 2014.

  1. landry
    landry WRInaute discret
    Inscrit:
    3 Mai 2006
    Messages:
    208
    J'aime reçus:
    0
    Bonjour,

    J'ai mis en place un système de notation pour un site de recettes en phpBB3 (seo).

    Il ne me manque plus qu'une seule chose : le numéro de page.

    Le code php fonctionne ainsi en html :

    Code:
    	<!-- PHP -->
                 notation ('10',$ip_vote);
                <!-- ENDPHP -->
    10 étant dans l'exemple le numéro de page.
    Sur phpbb on ne peut évidemment pas faire ainsi, je verrai mieux :

    Code:
    	<!-- PHP -->
                 notation ($topic_id,$ip_vote);
                <!-- ENDPHP -->
    Et dans la fonction du script :

    Code:
    function get_post_id( $post )
    {
    	$topic_id=$post;
    	$topic_id=str_replace('.html', '', $topic_id);
    	$pos = strrpos($topic_id, 't');
    	$topic_id = (int) substr($topic_id, $pos+1, 30);
    // sans Seo = $topic_id = (int) substr($topic_id, $pos+2, 30);
    	return $topic_id;
    }
    Code que j'ai récupéré sur le web car je ne suis pas très bon en codage.

    Mais ça marche pas, il doit me manquer quelque chose.

    Merci
     
  2. elijah
    elijah Nouveau WRInaute
    Inscrit:
    25 Mars 2014
    Messages:
    2
    J'aime reçus:
    0
    Bonjour,

    Peux-tu indiquer ce que contient la variable $post ? Ajoute "echo $post;" dans la fonction get_post_id :
    Code:
    function get_post_id( $post )
    {
       echo $post;
       $topic_id=$post;
       $topic_id=str_replace('.html', '', $topic_id);
       $pos = strrpos($topic_id, 't');
       $topic_id = (int) substr($topic_id, $pos+1, 30);
    // sans Seo = $topic_id = (int) substr($topic_id, $pos+2, 30);
       return $topic_id;
    }
    Comme ça on pourra voir ce qui cloche dans cette fonction.
     
  3. landry
    landry WRInaute discret
    Inscrit:
    3 Mai 2006
    Messages:
    208
    J'aime reçus:
    0
    Bah c'est un bout de code que j'avais et ajouté en désespoir de cause mais je crois que ça n'aurait pas fonctionné.
    A force on en vient à faire n'importe quoi en espérant que ça marche.

    Je n'y connais rien de rien en codage et sur les forum spécialisés à ce sujet dont je ne citerai pas le nom ici ils ont pour habitude de répondre "Tu crois pas qu'on va le faire à ta place".
    Honnêtement c'est un peu ce que j'attends, je ne sais pas le faire, et si je demande de l'aide c'est que justement je n'y arrive pas, autrement...je ne peux pas l'inventer cette variable, j'en suis incapable.

    Alors en fait un script de vote construit ainsi :


    Code:
    <?php
     
    //Variable de connexion BDD
    $nom_du_serveur ="blablabla";
    $nom_de_la_base ="blablabla";
    $nom_utilisateur ="blablabla";
    $passe ="blablabla";
     
    //Fonction pour l'ip
    function getIp()
    {
        if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
        {
            $ip_vote = $_SERVER['HTTP_X_FORWARDED_FOR'];
        }
        elseif(isset($_SERVER['HTTP_CLIENT_IP']))
        {
            $ip_vote = $_SERVER['HTTP_CLIENT_IP'];
        }
        else
        {
            $ip_vote = $_SERVER['REMOTE_ADDR'];
        }
        return $ip_vote;
    }
    //Ip utilisateur
    $ip_vote = getIp();
     
    //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.';
        }
    }
    ?>
    Est appelé dans la page comme ceci :

    Code:
      <!-- PHP -->
                 notation ('numero de la page', $ip_vote);
                <!-- ENDPHP -->
    Moi je cherche à faire pour phpBB :

    Code:
      <!-- PHP -->
                 notation ($topic_id, $ip_vote);
                <!-- ENDPHP -->
    Ben, je n'y arrive pas.

    Et à part tenter au petit bonheur la chance je n'y arriverai pas, c'est comme demander à un plombier de se mettre à la couture :lol:

    Merci
     
Chargement...
Similar Threads - Récupérer topic Forum Date
Récupérer balise topic_title dans un formulaire php Développement d'un site Web ou d'une appli mobile 27 Février 2015
Phpbb - Recuperer les 10 derniers topics Administration d'un site Web 8 Juin 2005
Commande site : monsite.com. Comment récupérer les URL dans un fichier ? Crawl et indexation Google, sitemaps 2 Juillet 2022
Récupérer URL destination liste redirection Netlinking, backlinks, liens et redirections 22 Novembre 2021
Récupérer les 10 plus grandes valeurs dans un fichier JSON Développement d'un site Web ou d'une appli mobile 18 Novembre 2021
Js : récupérer un élément dans un array Développement d'un site Web ou d'une appli mobile 23 Octobre 2021
FORMULAIRE FB ADS récupérer les données Facebook 28 Juillet 2021
Récupérer le premier et dernier enregistrement sql Développement d'un site Web ou d'une appli mobile 16 Juillet 2021
Comment récupérer le solde impayé de mon compte Adsense ? AdSense 26 Juin 2021
Search Console Sitemaps non indéxés ""Impossible de recuperer le sitemap" Crawl et indexation Google, sitemaps 23 Juillet 2020
Récupérer backlinks vers liens morts : fausse bonne idée ? Netlinking, backlinks, liens et redirections 6 Avril 2020
Récupérer le contenu d'une vidéo youtube Le café de WebRankInfo 23 Mars 2020
Comment récupérer un compte insta ouvert par un cybersquatteur ? Autres réseaux sociaux 29 Janvier 2020
comment récupérer mon positionnement Problèmes de référencement spécifiques à vos sites 5 Janvier 2020
Attendre des années avant de récupérer l'argent amassé sur adsense AdSense 23 Novembre 2019
Comment récupérer variable dynamique pour GTM ? Google Analytics 30 Septembre 2019
SELECT COUNT avec PDO et récupérer le résultat Développement d'un site Web ou d'une appli mobile 27 Mai 2019
récupérer id en php sans lien Développement d'un site Web ou d'une appli mobile 25 Avril 2019
Récupérer events via API google analytics Google Analytics 6 Avril 2019
Récupérer un numéro d'un paragraphe Développement d'un site Web ou d'une appli mobile 13 Décembre 2018