Souci récupération sondage
Posté : 14 nov. 2013, 01:21
Bonjour,
Je suis embêté avec le traitement de mon sondage, cela me mets "no database selected" affiché normalement à l'écran et non pas sous forme d'erreur. Je travail en local sous wamp. Je vous joint la page de traitement du sondage. l'incrémentation du nombre de vote fonctionne a part (quand je test sur une autre page), le problème viendrait de la réception de l'ip client puis de la comparaison avec la bdd. Pour bien comprendre, je récupère l'adresse ip puis je la compare à la bdd. Si l'ip existe, l'adresse ip ne pourra plus voter. Merci de m'éclairer.
Cordialement
Morgane
Je suis embêté avec le traitement de mon sondage, cela me mets "no database selected" affiché normalement à l'écran et non pas sous forme d'erreur. Je travail en local sous wamp. Je vous joint la page de traitement du sondage. l'incrémentation du nombre de vote fonctionne a part (quand je test sur une autre page), le problème viendrait de la réception de l'ip client puis de la comparaison avec la bdd. Pour bien comprendre, je récupère l'adresse ip puis je la compare à la bdd. Si l'ip existe, l'adresse ip ne pourra plus voter. Merci de m'éclairer.
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=coiffure', 'root', '');
$bdd->query("SET NAMES UTF8");
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$reponse=$_POST['sondage_semaine'];
$ip=get_ip();
$requete = mysql_query('SELECT * FROM ip_sondage WHERE ip = "'.$ip.'"') or die (mysql_error());
$return = mysql_fetch_array($requete);
function get_ip() {
// IP si internet partagé
if (isset($_SERVER['HTTP_CLIENT_IP'])) {
return $_SERVER['HTTP_CLIENT_IP'];
}
// IP derrière un proxy
elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
return $_SERVER['HTTP_X_FORWARDED_FOR'];
}
// Sinon : IP normale
else {
return (isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '');
}
}
if($return['id'] > 0)
{
//A VOTER
}
else
{
mysql_query('INSERT INTO ip_sondage VALUES ("ID", "'.$ip.'")') or die (mysql_error());
//il vote et on l'enregistre
}
if (isset($_POST['sondage_semaine']))
{
if (is_string($_POST['sondage_semaine']))
{
if (!empty($_POST['sondage_semaine']))
{
echo "<h4>Bonjour,<br/><br/>
Votre vote a bien été envoyé.<br/><br/>
Retour à la page <a href=\"index.php\">Accueil</a> ou <a href=\"sondage_resultats.php\">Voir les résultats</a></h4>";
}
else
{
header('Location: erreur_sondage.php');
}}}
/* try
{
$bdd = new PDO('mysql:host=localhost;dbname=coiffure', 'root', '');
$bdd->query("SET NAMES UTF8");
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
} */
$req = $bdd->prepare('UPDATE sondage_semaine SET nbre_vote = nbre_vote+1 WHERE jour_semaine = :jour_semaine');
$req->execute(array(
'jour_semaine' => $reponse));
?>
PS: Ne faites pas attention à la propreté du code, j'arrangerais ça à la fin quand j'aurais réussi à atteindre mon premier but =)Cordialement
Morgane