Avatar billede 17196 Nybegynder
25. august 2005 - 16:05 Der er 9 kommentarer og
1 løsning

Rod med if sætninger!

Jeg har et point systen på min hjemmeside, og vil sikre mig at brugeren ikke kan snyde. Derfor har jeg laver en række if sætninger der gerne skulle sikre at det ikke er muligt! Men man kan desværre godt stemme flere gange, og kan ikke finde ud af hvad jeg gør galt!
Sådan ser det ud:

<?php
include('connect.php');

$id_film = $_GET["id_film"];
$rating =$_GET["rate"];
$username =$_COOKIE["username"];

$rat = mysql_query("SELECT * FROM rate_movie WHERE id_film=".$_GET['id_film']." AND username='$_COOKIE[username]'") or die(mysql_error());
$num_rows = mysql_num_rows($rate);
if ($num_rows > 0) {
?>
Du har stemt - KLOVN!
<?
}
?>
Avatar billede coderdk Praktikant
25. august 2005 - 16:09 #1
<?php

    include('connect.php');

    $id_film = $_GET["id_film"];
    $rating = $_GET["rate"];
    $username =$_COOKIE["username"];

    $sql = sprintf(
        "SELECT * FROM rate_movie WHERE id_film = '%s' AND username='%s'"
        ,mysql_escape_string( $id_film )
        ,mysql_escape_string( $username ) );
       
    $rate = mysql_query( $sql ) or die(mysql_error());
   
    if (mysql_num_rows($rate) > 0) {
        die( "Du har stemt." );
    }

?>
Avatar billede jaw Nybegynder
25. august 2005 - 16:10 #2
<?php
include('connect.php');

$rat = mysql_query("SELECT * FROM rate_movie WHERE id_film=".$_GET['id_film']." AND username='".$_COOKIE['username']."'") or die(mysql_error());
$num_rows = mysql_num_rows($rate);
if ($num_rows > 0) {
    echo"Du har stemt - KLOVN!";
}
?>
Avatar billede roenving Novice
25. august 2005 - 16:16 #3
Er det tavetossen:

$rat = ...
... _rows($rate) ?-)
Avatar billede coderdk Praktikant
25. august 2005 - 16:18 #4
$rat = mysql_query
$rat = mysql_query
Avatar billede coderdk Praktikant
25. august 2005 - 16:18 #5
Hov!
$rat = mysql_query
$num_rows = mysql_num_rows($rate);
Avatar billede 17196 Nybegynder
25. august 2005 - 16:22 #6
--> coderDK dit virker! Smid et svar. Og mange tak for hjælpen :D
Avatar billede coderdk Praktikant
25. august 2005 - 16:24 #7
hehe ok :)
Avatar billede 17196 Nybegynder
25. august 2005 - 16:25 #8
roenving: Nej det er ikke stavebøffen - ellers godt set :D
jaw: har prøvet den duer ikke!
coderdk: Kan du forklare hvorfor dit virker? Hvad gjorde jeg galt?
Avatar billede coderdk Praktikant
25. august 2005 - 16:27 #9
Mit gæt er at det var stavetossen, men jeg har bare brugt nogle af de variable du havde, og lavet det lidt mere sikkert med sprintf/mysql_escape_string
Avatar billede 17196 Nybegynder
25. august 2005 - 16:31 #10
Det var ikke stavefejlen, jeg havde skrevet det rigtigt! Det undrer mig også for den side man kommer fra har jeg nemlig brugt det samme, og der virker det fint!

Det var åbenbart denne der skulle til:
mysql_escape_string

Nu må jeg ud på det der internet og se om jeg kan finde ud af hvorfor :D
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester