MADdaMAX
25.02.2008, 15:47:59
Hallo an alle,
ich versuche mich gerade an eiem Bewertungsscript.
Soweit funktioniert das Bewerten, jedoch möchte ich eine 24h sperre für den jeweiligen Bewerter einrichten.
Mein Problem ist nun das ich gerne ein cookie setzen würde, jedoch bin ich dann in meinem fall am Header schon vorbei (header allready send ...).
Im ersten Teil wird die werter.php includet und dort wird wiederum bewerter.php includet.
Hier mal meine Scripte:
if (isset($_GET["besterautohof"])&& in_array("detail",$_GET))
{
$result = mysql_query("SELECT * FROM bestahof WHERE id = ".$_GET["id"]);
if (mysql_num_rows($result))
{
$row = mysql_fetch_array($result);
if ($row["userpic"] != "")
{$image = '<img src="include/images/bestahof/'.$row["userpic"].'" border="0">';}
else
{$image = '';}
echo '
<table class="border" cellspacing="1" cellpadding="2" border="0" width="530">
<tr class="Chead" align="center">
<th width="32">A</th>
<th width="280">Auto-Rasthof</th>
<th width="108">Bewertungen</th>
<th width="108">Bewerten</th>
</tr><tr class="Cnorm">
<td align="center" rowspan="3" valign="top"><img src="include/images/icons/autobahn/'.$row["autobahn"].'"></td>
<td align="center"><strong>'.$row["autohof"].'</strong></td>
<td align="center"><strong>'.$row["klick"].'</strong> <font style="font-size:10px;">mal bewertet</font></td>
<td align="center">';
include "werter.php";//<---
echo ' </td>
</tr>
<tr class="Cnorm">
<td align="center" colspan="3">'.$image.'</td>
</tr>
<tr class="Cnorm">
<td colspan="3">'.bbcode ($row["txt"]).'</td>
</tr>
</table>';
}
else
{
echo '
<table class="border" cellspacing="1" cellpadding="4" border="0" width="530">
<tr class="Cnorm">
<td colspan="2" align="center">
Es ist für dieses Autohof keine Eingetragungen vorhanden.
</td>
</tr>
</table>';
}
}
Hier die werter.php (könnte ich eigentlich auch in die bewerter.php einfügen dient mir aber nur zur Darstellung):
if(isset($_GET["vote"]) && in_array("do",$_GET))
{
include "bewerter.php";
}
else
{
echo '
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td align="center">
<img src="include/images/icons/bewerter/rating1.gif" onClick="doVote(1,'.$_GET["id"].')" style="cursor:pointer"><img src="include/images/icons/bewerter/rating2.gif" onClick="doVote(2,'.$_GET["id"].')" style="cursor:pointer"><img src="include/images/icons/bewerter/rating3.gif" onClick="doVote(3,'.$_GET["id"].')" style="cursor:pointer"><img src="include/images/icons/bewerter/rating4.gif" onClick="doVote(4,'.$_GET["id"].')" style="cursor:pointer"><img src="include/images/icons/bewerter/rating5.gif" onClick="doVote(5,'.$_GET["id"].')" style="cursor:pointer">
<br><font style="font-size:9px">1=schlecht 5=supper</font>
</td>
</tr>
</table>';
}
Hier die bewerter.php:
$path = "include/images/icons/bewerter/";
$ip_chack = $_SERVER["REMOTE_ADDR"];
$time_check = time();
if (isset($_GET["vote"])&& in_array("do",$_GET))
{
$result = mysql_query("SELECT * FROM bestahof WHERE id ='".$_GET["id"]."'");
$row = mysql_fetch_array($result);
$note = $row["note"] + $_GET["note"];
$klick = $row["klick"] + 1;
$sqlUPD = "UPDATE bestahof SET ";
$sqlUPD.= " ip = '".$ip_chack."', ";
$sqlUPD.= " klick = '".$klick."', ";
$sqlUPD.= " note = '".$note."', ";
$sqlUPD.= " zeit = '".$time_check."'";
$sqlUPD.= " WHERE id = '".$row["id"]."'";
if (mysql_query($sqlUPD))
{
#setcookie('unique_cookie',true, time()+86400);
echo ' <img src="include/images/icons/bewerter/working.gif">
<meta http-equiv="refresh" content="3; URL=index.php?besterautohof=detail&id='.$row["id"].'">
';
}
}
else // if wenn die ip gleich des bewerters und die zeit nicht abgelaufen und für die id gevotet
{
if ($row["klick"] >0)
{$note = $row["note"]/$row["klick"];}
else {$note = $row["note"];}
if ($note >= 5) {$star = $path."5star.gif" ;}
if ($note <= 4.5) {$star = $path."45star.gif" ;}
if ($note <= 4) {$star = $path."4star.gif" ;}
if ($note <= 3.5) {$star = $path."35star.gif" ;}
if ($note <= 3) {$star = $path."3star.gif" ;}
if ($note <= 2.5) {$star = $path."25star.gif" ;}
if ($note <= 2) {$star = $path."2star.gif" ;}
if ($note <= 1.5) {$star = $path."15star.gif" ;}
if ($note <= 1) {$star = $path."1star.gif" ;}
if ($note <= 0.5) {$star = $path."05star.gif" ;}
if ($note <= 0) {$star = $path."00star.gif" ;}
echo '<img src="'.$star.'" alt="Durchschnittliche Bewertung: '.$note.'">';
}
Hier das JavaScript mit den get[] übergaben
<!--
function doVote(n1,did) {
document.location.href="index.php?besterautohof=detail&id=" + did + "¬e="+n1+"&vote=do";
}
//-->
Ich bin leider total unerfahren in sachen cookie programieren und weis nun auch nicht mehr weiter. Die Problematik mit den cookies das man es abschalten und oder löschen kann, kenn ich aber das ist das kleinste Übel. Auch das mit den ip Problemen das die sich in kürzerer Zeit ändern (AOL und Modem an aus usw.) ist auch nicht so wild.
Ich hoffe das jemand mir bei diesem Problem netter Weise weiter helfen kann.
Danke jetzt schon für das lesen.
MfG MADdaMAX
ich versuche mich gerade an eiem Bewertungsscript.
Soweit funktioniert das Bewerten, jedoch möchte ich eine 24h sperre für den jeweiligen Bewerter einrichten.
Mein Problem ist nun das ich gerne ein cookie setzen würde, jedoch bin ich dann in meinem fall am Header schon vorbei (header allready send ...).
Im ersten Teil wird die werter.php includet und dort wird wiederum bewerter.php includet.
Hier mal meine Scripte:
if (isset($_GET["besterautohof"])&& in_array("detail",$_GET))
{
$result = mysql_query("SELECT * FROM bestahof WHERE id = ".$_GET["id"]);
if (mysql_num_rows($result))
{
$row = mysql_fetch_array($result);
if ($row["userpic"] != "")
{$image = '<img src="include/images/bestahof/'.$row["userpic"].'" border="0">';}
else
{$image = '';}
echo '
<table class="border" cellspacing="1" cellpadding="2" border="0" width="530">
<tr class="Chead" align="center">
<th width="32">A</th>
<th width="280">Auto-Rasthof</th>
<th width="108">Bewertungen</th>
<th width="108">Bewerten</th>
</tr><tr class="Cnorm">
<td align="center" rowspan="3" valign="top"><img src="include/images/icons/autobahn/'.$row["autobahn"].'"></td>
<td align="center"><strong>'.$row["autohof"].'</strong></td>
<td align="center"><strong>'.$row["klick"].'</strong> <font style="font-size:10px;">mal bewertet</font></td>
<td align="center">';
include "werter.php";//<---
echo ' </td>
</tr>
<tr class="Cnorm">
<td align="center" colspan="3">'.$image.'</td>
</tr>
<tr class="Cnorm">
<td colspan="3">'.bbcode ($row["txt"]).'</td>
</tr>
</table>';
}
else
{
echo '
<table class="border" cellspacing="1" cellpadding="4" border="0" width="530">
<tr class="Cnorm">
<td colspan="2" align="center">
Es ist für dieses Autohof keine Eingetragungen vorhanden.
</td>
</tr>
</table>';
}
}
Hier die werter.php (könnte ich eigentlich auch in die bewerter.php einfügen dient mir aber nur zur Darstellung):
if(isset($_GET["vote"]) && in_array("do",$_GET))
{
include "bewerter.php";
}
else
{
echo '
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td align="center">
<img src="include/images/icons/bewerter/rating1.gif" onClick="doVote(1,'.$_GET["id"].')" style="cursor:pointer"><img src="include/images/icons/bewerter/rating2.gif" onClick="doVote(2,'.$_GET["id"].')" style="cursor:pointer"><img src="include/images/icons/bewerter/rating3.gif" onClick="doVote(3,'.$_GET["id"].')" style="cursor:pointer"><img src="include/images/icons/bewerter/rating4.gif" onClick="doVote(4,'.$_GET["id"].')" style="cursor:pointer"><img src="include/images/icons/bewerter/rating5.gif" onClick="doVote(5,'.$_GET["id"].')" style="cursor:pointer">
<br><font style="font-size:9px">1=schlecht 5=supper</font>
</td>
</tr>
</table>';
}
Hier die bewerter.php:
$path = "include/images/icons/bewerter/";
$ip_chack = $_SERVER["REMOTE_ADDR"];
$time_check = time();
if (isset($_GET["vote"])&& in_array("do",$_GET))
{
$result = mysql_query("SELECT * FROM bestahof WHERE id ='".$_GET["id"]."'");
$row = mysql_fetch_array($result);
$note = $row["note"] + $_GET["note"];
$klick = $row["klick"] + 1;
$sqlUPD = "UPDATE bestahof SET ";
$sqlUPD.= " ip = '".$ip_chack."', ";
$sqlUPD.= " klick = '".$klick."', ";
$sqlUPD.= " note = '".$note."', ";
$sqlUPD.= " zeit = '".$time_check."'";
$sqlUPD.= " WHERE id = '".$row["id"]."'";
if (mysql_query($sqlUPD))
{
#setcookie('unique_cookie',true, time()+86400);
echo ' <img src="include/images/icons/bewerter/working.gif">
<meta http-equiv="refresh" content="3; URL=index.php?besterautohof=detail&id='.$row["id"].'">
';
}
}
else // if wenn die ip gleich des bewerters und die zeit nicht abgelaufen und für die id gevotet
{
if ($row["klick"] >0)
{$note = $row["note"]/$row["klick"];}
else {$note = $row["note"];}
if ($note >= 5) {$star = $path."5star.gif" ;}
if ($note <= 4.5) {$star = $path."45star.gif" ;}
if ($note <= 4) {$star = $path."4star.gif" ;}
if ($note <= 3.5) {$star = $path."35star.gif" ;}
if ($note <= 3) {$star = $path."3star.gif" ;}
if ($note <= 2.5) {$star = $path."25star.gif" ;}
if ($note <= 2) {$star = $path."2star.gif" ;}
if ($note <= 1.5) {$star = $path."15star.gif" ;}
if ($note <= 1) {$star = $path."1star.gif" ;}
if ($note <= 0.5) {$star = $path."05star.gif" ;}
if ($note <= 0) {$star = $path."00star.gif" ;}
echo '<img src="'.$star.'" alt="Durchschnittliche Bewertung: '.$note.'">';
}
Hier das JavaScript mit den get[] übergaben
<!--
function doVote(n1,did) {
document.location.href="index.php?besterautohof=detail&id=" + did + "¬e="+n1+"&vote=do";
}
//-->
Ich bin leider total unerfahren in sachen cookie programieren und weis nun auch nicht mehr weiter. Die Problematik mit den cookies das man es abschalten und oder löschen kann, kenn ich aber das ist das kleinste Übel. Auch das mit den ip Problemen das die sich in kürzerer Zeit ändern (AOL und Modem an aus usw.) ist auch nicht so wild.
Ich hoffe das jemand mir bei diesem Problem netter Weise weiter helfen kann.
Danke jetzt schon für das lesen.
MfG MADdaMAX