modification d'un script en pdo
Posté : 16 janv. 2017, 22:20
bonjour un système de vote
l'ancien version
l'ancien version
<?php
//Si le référant est vide ou que le nom de domaine est différent de ***, on éjecte
if(empty($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_HOST'] != 'localhost'){
echo 'Erreur de REFERER ou de HOST!';
exit();
}
//Variable de connexion BDD *
$nom_du_serveur ="localhost";
$nom_de_la_base ="note";
$nom_utilisateur ="root";
$passe ="";
//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());
//On récupère les 2 variables qui transitent via la fonction ajax()
$id = (isset($_POST["id"])) ? $_POST["id"] : NULL;
$ip = (isset($_POST["ip"])) ? $_POST["ip"] : NULL;
//Note actuelle
$calcul_note = mysql_query("SELECT SUM(note) AS totalmoyenne FROM note WHERE id_page = '".mysql_real_escape_string($id)."'");
$data = mysql_fetch_array($calcul_note);
$note_actuelle = $data['totalmoyenne'];
//Si aucun vote
if($note_actuelle == NULL){
$note_actuelle = 0;
}
//Si la note est supérieure ou égal à 1 on affiche le signe +
if($note_actuelle>=1){
echo '+';
}
//On affiche la note actuelle
echo $note_actuelle;
//On affiche la note actuelle
echo $note_actuelle;
//on vérifie si l'utilisateur à déjà voté
$deja_voter = mysql_query("SELECT ip FROM note WHERE ip = '".mysql_real_escape_string($ip)."' AND id_page = '".mysql_real_escape_string($id)."'");
$resultat = mysql_fetch_array($deja_voter);
/*Si tel est le cas on affiche un mot ("dv" pour déjà voté) qui sera récupéré par xhr.responseText de la fonction ajax. Cet élément permettra de montrer ou pas le système de vote à l'utilisateur*/
if($resultat != NULL){
echo 'dv';
}
//L'utilisateur peut voter
if(isset($_POST['note'])){
//On récupère la note
$note = (isset($_POST["note"])) ? $_POST["note"] : NULL;
//Insertion en BDD
$insert = mysql_query("INSERT INTO note VALUES ( '', '".mysql_real_escape_string($id)."', '".mysql_real_escape_string($note)."', '".mysql_real_escape_string($ip)."' ) ");
//Si il y a une erreur
if(!$insert) {
die('Requête invalide : ' . mysql_error());
}
}
?>
Versions PHP PDO j'ai des erreur dans les select et insert une petite aide serais la bien venue<?PHP
require("function.php");
$connection = connexion_db ();
header('Content-type: text/html; charset=UTF-8');
//Si le référant est vide ou que le nom de domaine est différent de ***, on éjecte
/*if(empty($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_HOST'] != 'localhost'){
echo 'Erreur de REFERER ou de HOST!';
exit();
}*/
//On récupère les 2 variables qui transitent via la fonction ajax()
$id = (isset($_POST["id"])) ? $_POST["id"] : NULL;
$ip = (isset($_POST["ip"])) ? $_POST["ip"] : NULL;
//Note actuelle
$calcul_note = $connection->prepare('SELECT SUM(note) AS totalmoyenne FROM note WHERE id_page=:id_page');
if($calcul_note->execute(array(':id_page'=> $id))){
$note_actuelle = $calcul_note->fetchColumn();
}
//Si aucun vote
if($note_actuelle == NULL){
$note_actuelle = 0;
}
//Si la note est supérieure ou égal à 1 on affiche le signe +
if($note_actuelle>=1){
echo '+';
}
//On affiche la note actuelle
echo $note_actuelle;
//On affiche la note actuelle
echo $note_actuelle;
//on vérifie si l'utilisateur à déjà voté
$deja_voter = $connection->prepare('SELECT ip FROM note WHERE ip=:ip AND id_page=:id');
$deja_voter->execute(array(':ip'=>$ip,':id'=>$id));
$resultat = $deja_voter->fetchColumn();
/*Si tel est le cas on affiche un mot ("dv" pour déjà voté) qui sera récupéré par xhr.responseText de la fonction ajax. Cet élément permettra de montrer ou pas le système de vote à l'utilisateur*/
if($resultat != NULL){
echo 'dv';
}
//L'utilisateur peut voter
if(isset($_POST['note'])){
//On récupère la note
$note = (isset($_POST["note"])) ? $_POST["note"] : NULL;
//Insertion en BDD
$insert_prep = $connection->prepare("INSERT INTO note (id_page,note,ip) VALUES(:id_page, :note, :ip");
$inser_exec = $insert_prep->execute(array(':id_page'=>$id,
':note'=> $note,
':ip'=>$ip));
if(!$inser_exec) {
die('Requête invalide : ' . mysql_error());
}
}
?>