Systeme de note produit

30 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour,

ci joint la table :

CREATE TABLE `ratings2` (

`id` varchar(11) collate utf8_unicode_ci NOT NULL default '',

`total_votes` int(11) NOT NULL default '0',

`total_value` int(11) NOT NULL default '0',

`used_ips` longtext collate utf8_unicode_ci NOT NULL

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

****************************

page config-rating.php

exemple:

$rating_dbhost = 'localhost';

$rating_dbuser = 'root';

$rating_dbpass = '';

$rating_dbname = 'produits_bretons';

$rating_tableName = 'ratings2';

$rating_path_db = 'http://localhost/00_produitbreton/achat/modeles/';

$rating_path_rpc = 'http://localhost/00_produitbreton/achat/modeles/';

****************************

voir en bas de cette page

<?php

function rating_bar($id,$units='',$static='') {

require('_config-rating.php'); // get the db connection info

//set some variables

$ip = $_SERVER['REMOTE_ADDR'];

if (!$units) {$units = 10;}

if (!$static) {$static = FALSE;}

// get votes, values, ips for the current rating bar

$query=mysql_query("SELECT total_votes, total_value, used_ips FROM $rating_dbname.$rating_tableName WHERE id='$id' ")or die(" Error: ".mysql_error());

// insert the id in the DB if it doesn't exist already

// see: http://www.masugadesign.com/the-lab/script...ar/#comment-121

if (mysql_num_rows($query) == 0) {

$sql = "INSERT INTO $rating_dbname.$rating_tableName (`id`,`total_votes`, `total_value`, `used_ips`) VALUES ('$id', '0', '0', '')";

$result = mysql_query($sql);

}

$numbers=mysql_fetch_assoc($query);

if ($numbers['total_votes'] < 1) {

$count = 0;

} else {

$count=$numbers['total_votes']; //how many votes total

}

$current_rating=$numbers['total_value']; //total number of rating added together and stored

$tense=($count==1) ? "vote" : "votes"; //plural form votes/vote

// determine whether the user has voted, so we know how to draw the ul/li

$voted=mysql_num_rows(mysql_query("SELECT used_ips FROM $rating_dbname.$rating_tableName WHERE used_ips LIKE '%".$ip."%' AND id='".$id."' "));

// now draw the rating bar

$rating_width = @number_format($current_rating/$count,2)*$rating_unitwidth;

$rating1 = @number_format($current_rating/$count,1);

$rating2 = @number_format($current_rating/$count,2);

if ($static == 'static') {

$static_rater = array();

$static_rater[] .= "\n".'<div class="ratingblock">';

$static_rater[] .= '<div id="unit_long'.$id.'">';

$static_rater[] .= '<ul id="unit_ul'.$id.'" class="unit-rating" style="width:'.$rating_unitwidth*$units.'px;">';

$static_rater[] .= '<li class="current-rating" style="width:'.$rating_width.'px;">Currently '.$rating2.'/'.$units.'</li>';

$static_rater[] .= '</ul>';

$static_rater[] .= '<p class="static">'.$id.'. Rating: <strong> '.$rating1.'</strong>/'.$units.' ('.$count.' '.$tense.' cast) <em>This is \'static\'.</em></p>';

$static_rater[] .= '</div>';

$static_rater[] .= '</div>'."\n\n";

return join("\n", $static_rater);

} else {

$rater ='';

$rater.='<div class="ratingblock">';

// $rater.=($count==1) ? "Soyez le 1 er a mettre une note a ce produit" : "Votez"; //plural form votes/vote

$rater.='<div id="unit_long'.$id.'">';

$rater.=' <ul id="unit_ul'.$id.'" class="unit-rating" style="width:'.$rating_unitwidth*$units.'px;">';

$rater.=' <li class="current-rating" style="width:'.$rating_width.'px;">Currently '.$rating2.'/'.$units.'</li>';

for ($ncount = 1; $ncount <= $units; $ncount++) { // loop from 1 to the number of units

if(!$voted) { // if the user hasn't yet voted, draw the voting stars

$rater.='<li><a href="http://localhost/00_produitbreton/achat/modeles/db.php?j='.$ncount.'&q='.$id.'&t='.$ip.'&c='.$units.'" title="'.$ncount.' out of '.$units.'" class="r'.$ncount.'-unit rater" rel="nofollow">'.$ncount.'</a></li>';

}

}

$ncount=0; // resets the count

$rater.=' </ul>';

$rater.=' <p';

if($voted){ $rater.=' class="voted"'; }

$rater.='> Résultat : <strong> '.$rating1.'</strong>/'.$units.' ('.$count.' '.$tense.' )';

$rater.=' </p>';

$rater.='</div>';

$rater.='</div>';

return $rater;

}

}

?>

voila

Je trouve cette fonction tres utile mais au niveau sécurité c'est faible.

Avez-vous pensé au nombre d'attaques de hackers qu'on puisse avoir dans du php ?

Attention a ne pas trop transformer le code que patrice met en place.

Il ne va pas repondre a vos problemes ensuite.

Restez pro et commencez ne pas trop toucher à vos codes sans reflechir au probleme de sécurité.

Cordialement,

VRF

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Je me suis posé aussi cette question lorsque j'avais enfin réussi à le faire marché en local ... donc finalement je ne l'ai pas installé ...

Quelqu'un pourrai t-il nous dire si c'est risqué de l'installer ce script ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Effectivement cela est intéressant (trés) mais effectivement y a t-il un véritable risque ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Effectivement cela est intéressant (trés) mais effectivement y a t-il un véritable risque ?

C'est a dire un veritable risque et ou

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

C'est a dire un veritable risque et ou

Merci

up !

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping