Automatiser un script

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Automatiser un script

par pollux007 » 27 janv. 2007, 22:18

C'est bon ca marche!

En tout cas merci de votre aide.

par Ajoloca » 27 janv. 2007, 22:16

Bonjour,

Pour éviter ce genre de PB il est fortement conseillé de bien séparer les variables PHP du reste de la requête en se servant de concaténations.
$sql = "SELECT topic_replies FROM phpbb_topics WHERE topic_id='" . $topicid. "' LIMIT 0, 30"; 

par HD » 27 janv. 2007, 22:07

avant SELECT et après 30 il faut mettre des double guillemets "
sinon les variables ne sont pas interprétées

par pollux007 » 27 janv. 2007, 22:03

Voici mon nouveau code:
//requête

$sql = 'SELECT topic_replies FROM phpbb_topics WHERE topic_id='$topicid' LIMIT 0, 30';

//exécution de la requête

$req=mysql_query($sql);

//recuperation de la valeur

while($data = mysql_fetch_assoc($req))

    {

    // on affiche les informations de l'enregistrement en cours

echo $data['topic_replies'];

    }

?>
J'ai bien rajouté les guillemets pour la varaible topicid et c'est tout

par HD » 27 janv. 2007, 22:00

montre nous ton nouveau code stp en precisant à quoi correspond la ligne 15

par pollux007 » 27 janv. 2007, 21:51

C'est bizare j'ai cette suite a l'ajout des guillemets dans ma requete
j'ai encore cette erreur:

Code : Tout sélectionner

Parse error: parse error, unexpected T_VARIABLE in /var/www/vhost/sessions.fr/home/html/comentaires.php on line 15
Pourtant j'ai bien attribue une valeur a ma variable topicid.

par HD » 27 janv. 2007, 21:36

stp edite ton message précédent et met xxx à la place de tes parametres de connexion (login et mot de passe) :
$connexion=mysql_connect

par HD » 27 janv. 2007, 21:35

$sql = "SELECT topic_replies FROM phpbb_topics WHERE topic_id='$topicid' LIMIT 0, 30";

par pollux007 » 27 janv. 2007, 21:32

Donc voici mon code php:
<?php

//connexion

$connexion=mysql_connect('localhost','root','') or die ('erreur de connexion');

$ok=mysql_select_db("sessions",$connexion);

//requête

$sql = 'SELECT topic_replies FROM phpbb_topics WHERE topic_id=$topicid LIMIT 0, 30';

//exécution de la requête

$req=mysql_query($sql);

//recuperation de la valeur

while($data = mysql_fetch_assoc($req))

    {

    // on affiche les informations de l'enregistrement en cours

echo $data['topic_replies'];

    }

?>
Et mon code html

Code : Tout sélectionner

Laisser un commentaire sur l'article. ( <?php $topicid=34; include("comentaires.php"); ?> commentaires )
Et j'ai ce message d'erreur:

Laisser un commentaire sur l'article. (
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/vhost/sessions.fr/home/html/comentaires.php on line 23
commentaires )

par HD » 27 janv. 2007, 21:11

donc tu declare une variable par exemple $topicid dans le fichier parent (qui change à chaque fois) puis le fichier que tu vas inclure va utiliser cette variable pour générer un resultat "personnalisé"

par pollux007 » 27 janv. 2007, 21:07

Merci de ta réponse aussi rapide.
Oui en fait je voudrais recuperer le nombres de réponses dans un topic de mon forum pour l'afficher dans ma page html.
Du genre :
Laisser un commentaire(16 réponses)

Donc dans mon code html j'écris:

Code : Tout sélectionner

Laisser un commentaire sur l'article.</a> ( <?php include("comentaires_morales.php")?> commentaires )
Ce qui m'oblige a dupliquer et renommer mon fichier commentaires.
Donc je voudrais automatiser tout ca en ayant q'un seul fichier.

Donc si j'ai bien compris ta réponse il faut attribuer un registre à topic_id et le déclarer dans ma page html?

par HD » 27 janv. 2007, 20:41

je ne sais pas si j ai bien compris ta question mais tu peux mettre
$sql = 'SELECT topic_replies FROM phpbb_topics WHERE topic_id=$topicid LIMIT 0, 30';
et mettre ce code dans un fichier "compter-reponses.php" par exemple
puis dans chaque forum on met
$topicid = xx ;
include ("compter-reponses.php");
:?:

Automatiser un script

par pollux007 » 27 janv. 2007, 20:36

Bonjour,
j'ai réaliser cette requête pour récupérer le nombre de réponses dans forum
<?php

//connexion

$connexion=mysql_connect('localhost','root','') or die ('erreur de connexion');

$ok=mysql_select_db("sessions",$connexion);

//requête

$sql = 'SELECT topic_replies FROM phpbb_topics WHERE topic_id=3 LIMIT 0, 30';

//exécution de la requête

$req=mysql_query($sql);

//recuperation de la valeur

while($data = mysql_fetch_assoc($req))

    {

    // on affiche les informations de l'enregistrement en cours

echo $data['topic_replies'];

    }

?>
Et je voudrais savoir s'il est possible d'automatiser ce scipt pour éviter de dupliquer ce fichier dans mon serveur pour récupérer les nombre de réponses pour les différents sujets.

Merci