Bewertungsscript pürft einträge nicht wirklich...

DeeJay-Luke

Mitglied
Hallo zusammen

Ich hab ein Bewertungsscript geschrieben was etwas auf ebay Bewertungsprinzip basiert.

Mein Script darf jeder User nur einmal jemanden Bewerten, das heisst beim versuch die Person das zweite mal zu Bewerten soll das Script ein fehler ausspucken. Das tut es aber nicht immer

Benutzername MCKANACK
Passwort MCKANACK

--> LINK <--

Einfach auf Missbody klicken

Hier der Quelltext - Das Script prüft hier ob der User schonmal bewertet hat
Als id hab ich die time() der anmeldung genommen und es läuft über Datenbanken
db 1 = bewertungen
db 2 = user_login

PHP:
	$bewertung_auslesen = mysql_fetch_array($result2);
	$user_exist = $bewertung_auslesen["user_id"];
	$user_check = $_SESSION["anmeldung"];
	
if(	 $user_exist == $user_check   )
{
	echo '<div style="vertical-align:middle; text-align:center; bottom:50%; top:50%; ">';
	echo '<img src="img/shoox.jpg" alt="" border="0" /><br />';
	echo '<span style="font-size:12px;">INSERT VOTE "' . $row["user_name"] . '":  </span><b style="font-size:12px; color:#FF0000;">..FAILED</b><br />';
	echo '<b style="font-size:12px; text-decoration:underline;">Sie können ' . $row["user_name"] . ' nur einmal bewerten!</b><br /><br />';
	echo '<a href="javascript:history.back();">&raquo; Zur&uuml;ck &laquo;</a></div>';
}
 
Du musst die Überprüfung schon in eine Schleife Packen, sodass er alle Datensätze überprüft, sonst testet er nur den letzten.
 
Das ganze ist in einer Schleife, hier mal ein auszug der vote.php

PHP:
<?php
if (empty($_SESSION["authok"]))
{
	echo '<div style="vertical-align:middle; text-align:center; bottom:50%; top:50%; ">';
	echo '<img src="img/shoox.jpg" alt="" border="0" /><br />';
	echo '<b style="font-size:12px;">Nur registrierte Benutzer können Voten!</b><br />';
	echo '<a href="javascript:history.back();">&raquo; Zur&uuml;ck &laquo;</a></div>';
}
else
{
	include ("case/verbinde.php");
	$query = "SELECT * FROM missbody WHERE anmeldung = " . $_GET["id"];
	$result = mysql_query($query,$verbindung);
	$row = mysql_fetch_array($result);	
	$result0 = mysql_query("SELECT count(*) FROM bewertungen WHERE aktivierungsnr = '$row[anmeldung]'");
	$vote0 = mysql_fetch_row($result0);	
	$result1 = mysql_query("SELECT count(*) FROM bewertungen WHERE aktivierungsnr = '$row[anmeldung]' AND bewertung = 'positiv'");
	$vote1 = mysql_fetch_row($result1);	
	$result3 = mysql_query("SELECT count(*) FROM bewertungen WHERE aktivierungsnr = '$row[anmeldung]' AND bewertung = 'negativ'");
	$vote3 = mysql_fetch_row($result3);	
	$bewertung = $vote1[0] - $vote3[0];
	$query2 = "SELECT * FROM bewertungen WHERE aktivierungsnr = " . $_GET["id"];
	$result2 = mysql_query($query2,$verbindung);
	$bewertung_auslesen = mysql_fetch_array($result2);
	$user_exist = $bewertung_auslesen["user_id"];
	$user_check = $_SESSION["anmeldung"];
	
if(	 $user_exist == $user_check   )
{
	echo '<div style="vertical-align:middle; text-align:center; bottom:50%; top:50%; ">';
	echo '<img src="img/shoox.jpg" alt="" border="0" /><br />';
	echo '<span style="font-size:12px;">INSERT VOTE "' . $row["user_name"] . '":  </span><b style="font-size:12px; color:#FF0000;">..FAILED</b><br />';
	echo '<b style="font-size:12px; text-decoration:underline;">Sie können ' . $row["user_name"] . ' nur einmal bewerten!</b><br /><br />';
	echo '<a href="javascript:history.back();">&raquo; Zur&uuml;ck &laquo;</a></div>';
}
else
{
// Abfrage Sendit
	
	if (!empty($_POST["sendit"]))
	{
		$user_name = $_SESSION["user_name"];
		$user_id = $_SESSION["anmeldung"];
		$time = time();
		$aktivierungsnr = $row["anmeldung"];
		$bewertung = $_POST["bewertung"];
		$kommentar = $_POST["kommentar"];
		$query = "INSERT INTO bewertungen ( bewertung, kommentar, aktivierungsnr, time, user, user_id ) VALUES ( '$bewertung', '$kommentar', '$aktivierungsnr', '$time', '$user_name', '$user_id' )"; //Eintrag senden in die Datzenbank
		mysql_query($query,$verbindung);				
				echo '<div style="vertical-align:middle; text-align:center; bottom:50%; top:50%; ">';
				echo '<img src="img/shoox.jpg" alt="" border="0" /><br />';
				echo '<span style="font-size:12px;">INSERT VOTE "' . $row["user_name"] . '":  </span><b style="font-size:12px; color:#00C117;">..Sucefull</b><br />';
				echo '<a href="index.php?case=missbody&section=profil&id=' . $aktivierungsnr . '&' . SID .'">&raquo; Weiter &laquo;</a></div>';
	}
	else
	{	
?>
<form method="post" action="">
<table class="tableinc" cellpadding="4" cellspacing="0" border="0">
	<tr>
		<td colspan="2"><b style="font-size:14px">Bewerten Sie <?php echo $row["user_name"]?> (<?php echo $bewertung; ?>)</b></td>
	</tr>
	<tr>
		<td colspan="2"><img src="mbc_thumb/<?php echo $row["thumb"] ?>" alt="" border="1" /></td>
	</tr>
	<tr>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td>Bewertung</td>
		<td>
		<input type="radio" name="bewertung" value="positiv"> Geile Frau&nbsp;&nbsp;&nbsp;
		<input type="radio" name="bewertung" value="neutral"> Ist Ok !!&nbsp;&nbsp;&nbsp;
		<input type="radio" name="bewertung" value="negativ"> Naja gibst besseres !&nbsp;&nbsp;&nbsp;
		</td>
	</tr>
	<tr>
		<td>Kommentar</td>
		<td>
		<input type="text" name="kommentar" value="" maxlength="60" class="itext" size="60"/>
		</td>
	</tr>
	<tr>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td colspan="2">&nbsp;</td>
	</tr>
	<tr>
		<td style="text-align:center" colspan="2"><input type="submit" name="sendit" value="  Bewertung abgeben  " /></td>
	</tr>
</table>
</form>
<?php
}
}
}
?>
 
Also entweder bin ich blind oder es gibt in deinem Script keine Schleife.
Ich hoffe nicht das du die "If-Schleife" meinst, denn "If-Schleifen" gibt es nicht, es ist wenn eine Bedingung.
 
Zurück