16. juni 2006 - 22:16Der er
11 kommentarer og 1 løsning
Hjælp med ip addresse.
hejsa jeg vil gerne have sådan at hvis ipen allerede står i databasen så må den ikke stemme i min votebox igen. den må gerne se voteboxen, men når den trykker stem skal der stå "du har stemt en gang" Håber der er nogle som kan hjælpe mig . tak. her er min kode. med det jeg troede: <? include("sql/db_ind.inc"); $result2 = mysql_query("SELECT svar FROM vote") or die (mysql_error()); $r = mysql_fetch_array($result2); $ialt = mysql_num_rows($result2); $result3 = mysql_query("SELECT * FROM vote WHERE svar = 'ja'"); $ja = mysql_num_rows($result3); $result4 = mysql_query("SELECT * FROM vote WHERE svar = 'nej'"); $nej = mysql_num_rows($result4); $result5 = mysql_query("SELECT * FROM vote WHERE svar = 'maske'"); $maske = mysql_num_rows($result5); $jap = $ja/$ialt*100; $nejp = $nej/$ialt*100; $maskep = $maske/$ialt*100; ?> <?php include("sql/db_ind.inc"); if ($_POST['news']) { $header = $_POST['header']; $svar = $_POST['R1']; $ip = $_SERVER['REMOTE_ADDR']; $result_ip = mysql_query("SELECT * FROM vote WHERE ip = '$ip'"); $num_ip = mysql_num_rows($result_ip); if($num_ip == "1") { echo 'Jeg er blondine håber fandme at du også er'; } else { mysql_query("INSERT INTO vote (svar, ip) VALUES ('$svar', '$ip')") or die (mysql_error()); echo "Tak for dit svar.<br> <b>Ja:</b>$ja - (" . round($jap) . "%)<br> <b>Nej:</b>$nej - (" . round($nejp) . "%)<br> <b>Maske:</b>$maske - (" . round($maskep) . "%)<br> <b>Ialt:</b> $ialt"; } } else {
Hvis du har stemt før, så skriver din kode nu: echo 'Jeg er blondine håber fandme at du også er'; Så er det jo "bare" at vise: <b>Ja:</b>$ja - (" . round($jap) . "%)<br> <b>Nej:</b>$nej - (" . round($nejp) . "%)<br> <b>Maske:</b>$maske - (" . round($maskep) . "%)<br> <b>Ialt:</b> $ialt"; } i stedet for.
if (isset($_POST['news'])) { $header = $_POST['header']; $svar = $_POST['R1']; $ip = $_SERVER['REMOTE_ADDR']; $result_ip = mysql_query("SELECT * FROM vote WHERE ip = '$ip'"); $num_ip = mysql_num_rows($result_ip);
if ($num_ip >= 1) { echo 'Jeg er blondine håber fandme at du også er'; } else { mysql_query("INSERT INTO vote (svar, ip) VALUES ('$svar', '$ip')") or die (mysql_error()); echo "Tak for dit svar.<br>"; }
Nielle: Kan kulip's problem være, at den kode han arbejde med nu, jo netop kun kommer "ind" i koden: if (isset($_POST['news'])) når $_POST['news'] er sat.
Den skal jo vise: echo "<b>Ja:</b>$ja - (" . round($jap) . "%)<br> <b>Nej:</b>$nej - (" . round($nejp) . "%)<br> <b>Maske:</b>$maske - (" . round($maskep) . "%)<br> <b>Ialt:</b> $ialt";
Allerede når en bruger som har stemt åbner siden?
Så måske noget i denne stil:
$ip = $_SERVER['REMOTE_ADDR']; $result_ip = mysql_query("SELECT * FROM vote WHERE ip = '$ip'"); $num_ip = mysql_num_rows($result_ip);
if (isset($_POST['news'])) { $header = $_POST['header']; $svar = $_POST['R1'];
if ($num_ip >= 1) { echo 'Jeg er blondine håber fandme at du også er'; } else { mysql_query("INSERT INTO vote (svar, ip) VALUES ('$svar', '$ip')") or die (mysql_error()); echo "Tak for dit svar.<br>"; } }
... sad lige og nuslede med koden for at gøre den mere effektiv og skåne databasen:
<? include("sql/db_ind.inc");
$ip = $_SERVER['REMOTE_ADDR']; $result = mysql_query("SELECT count(*) AS antal FROM vote WHERE ip = '$ip'") or die (mysql_error()); $row = mysql_fetch_assoc($result); $num_ip = $row["antal"];
if (isset($_POST['R1'])) { if ($num_ip >= 1) echo "Jeg er blondine, håber fandme at du også er.<br>"; else { $svar = $_POST['R1'];
mysql_query("INSERT INTO vote (svar, ip) VALUES ('$svar', '$ip')") or die (mysql_error()); $num_ip = 1; echo "Tak for dit svar.<br>"; } }
if ($num_ip >= 1) { $result = mysql_query("SELECT count(*) AS ialt FROM vote") or die (mysql_error()); $row = mysql_fetch_assoc($result); $ialt = $row["ialt"];
$result = mysql_query("SELECT count(*) AS ja FROM vote WHERE svar = 'ja'"); $row = mysql_fetch_assoc($result); $ja = $row["ja"];
$result = mysql_query("SELECT count(*) AS nej FROM vote WHERE svar = 'nej'"); $row = mysql_fetch_assoc($result); $nej = $row["nej"];
// $result = mysql_query("SELECT count(*) AS maske FROM vote WHERE svar = 'maske'"); // $row = mysql_fetch_assoc($result); // $maske = $row["maske"];
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.