05. oktober 2011 - 11:49
Der er
11 kommentarer og 1 løsning
fejl i if else sætning ??
Hej Eksperter jeg kan ikke finde fejlen i denne script jeg har lavet en afstemning hvor man kan vælge en billed men man skal kun kunne stemme en gang og til det bruger jeg ip adresse som er $xx men når jeg tjekker om den ip er brugt så fortsætter den bare til det der står efter else så man kan stemme igen herunder er hele koden <?php session_start(); $xx=$_SERVER['REMOTE_ADDR']; $con = mysql_connect("xxxxxx","xxxxxxx","xxxxxxx"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("xxxxxxx", $con); $result = mysql_query("SELECT * FROM fotokonkurrence"); while($row = mysql_fetch_array($result)) if ($row['ip']==$xx) { header("Location:Tak.html"); mysql_close($con); exit; } else { $_SESSION['views']=1; include("billedviser.php"); } mysql_close($con); ?>
Annonceindlæg fra Novataris
Vejen til devops med Bavarian Nordic
Bavarian Nordics vækst blev starten på et DevOps-samarbejde med Novataris for hurtigt at kunne tilpasse IT-organisation til forretningen.
7. december 2023
05. oktober 2011 - 12:27
#1
prøv at udskriv $row['ip'] og $xx for at se om der ER ens
05. oktober 2011 - 12:35
#2
Jeg mener du mangler start- og slutklammer til din while løkke. while($row = mysql_fetch_array($result)){ if ($row['ip']==$xx) { header("Location:Tak.html"); mysql_close($con); exit; } else { $_SESSION['views']=1; include("billedviser.php"); }}
05. oktober 2011 - 12:44
#3
#1 har jeg prøvet de er ens #2 har prøvet at sætte dem ind men den fortsætter stadig til det efter else
05. oktober 2011 - 13:10
#4
Hvad med at prøve det her: Har skrevet det lidt om.. Det kan være at det hjælper :) [code] <?php session_start(); $remoteAdress=$_SERVER['REMOTE_ADDR']; $con = mysql_connect("xxxxxx","xxxxxxx","xxxxxxx"); mysql_select_db("xxxxxxx", $con); $duBlokeret = false; $result = mysql_query("SELECT * FROM fotokonkurrence"); //loop through all rows returned by result echo "Din ip er ".$remoteAdress; while ($row = mysql_fetch_array($result)) { if ($remoteAdress = $row["ip"]) { $duBlokeret = true; } } if ($duBlokeret) { header("Location:Tak.html"); mysql_close($con); } else{ $_SESSION['views']=1; include("billedviser.php"); } mysql_close($con); [/code]
05. oktober 2011 - 13:10
#5
<?php session_start(); $remoteAdress=$_SERVER['REMOTE_ADDR']; $con = mysql_connect("xxxxxx","xxxxxxx","xxxxxxx"); mysql_select_db("xxxxxxx", $con); $duBlokeret = false; $result = mysql_query("SELECT * FROM fotokonkurrence"); //loop through all rows returned by result echo "Din ip er ".$remoteAdress; while ($row = mysql_fetch_array($result)) { if ($remoteAdress = $row["ip"]) { $duBlokeret = true; } } if ($duBlokeret) { header("Location:Tak.html"); mysql_close($con); } else{ $_SESSION['views']=1; include("billedviser.php"); } mysql_close($con);
05. oktober 2011 - 13:33
#6
splazz har ret. Konditionen "$row['ip']==$xx" bliver aldrig opfyldt. Måske problemer med det du rent faktisk har i DB? Når du kommer ned i else-delen skal du osse huske at INSERTe en rec med den nye ip. Muligvis gør du det i "billedviser.php", men det er ikke nemt at se.
05. oktober 2011 - 13:34
#7
ja nu virker det næsten den skriver din ip er og så ipadresse men den udfører ikke dette header("Location:Tak.html"); mysql_close($con); den stopper bare hvor den viser ipadresse skal der ikke være en php luk til sidst ??
05. oktober 2011 - 13:41
#8
gik lidt for stærkt <div> session_start(); $remoteAdress=$_SERVER['REMOTE_ADDR']; $con = mysql_connect("xxxxxx","xxxxxxx","xxxxxxx"); mysql_select_db("xxxxxxx", $con); $duBlokeret = false; $result = mysql_query("SELECT * FROM fotokonkurrence"); //loop through all rows returned by result echo "Din ip er ".$remoteAdress; while ($row = mysql_fetch_array($result)) { if ($remoteAdress == $row["ip"]) { $duBlokeret = true; } } if ($duBlokeret) { header("Location:Tak.html"); mysql_close($con); } else{ $_SESSION['views']=1; include("billedviser.php"); } mysql_close($con); ?> </div>
05. oktober 2011 - 13:41
#9
#6 de er ens og ipadressen bliver først lagt i db når de har stemt if ($row['ip']==$xx) betyder det ikke at hvis de er ens skal den udførere dette og hvis de ikke er ens skal den udføre else
05. oktober 2011 - 14:23
#10
-> #9 - jo, og derfor tror jeg heller ikke de er ens. du kan ikke kalde header efter der er skrevet til browseren...
05. oktober 2011 - 14:41
#11
Fandt en løsning Tak for hjælpen
05. oktober 2011 - 19:22
#12
selv tak, hvad var fejlen?
Vi tilbyder markedets bedste kurser inden for webudvikling