Avatar billede Slettet bruger
11. oktober 2003 - 02:33 Der er 7 kommentarer og
1 løsning

Hjælp til en if-sætning.

Topic lyder måske lidt underligt, men jeg har nu siddet og scriptet i en del timer, og er nu endt ud i, at jeg ikke kan finde den fordømte fejl, som formodentlig er helt åbenlys.

Men til sagen - jeg har to filer, en "rate.php" og en "postrate.php". Problemet ligger i postrate.php, som kan findes her:

http://www.pacroon.dk/piccms/post.phps

Kort sagt er "humlen", at når den tæller om der allerede er en eksisterende ip der matcher rating_id i tabellen, og hvis det er tilfældet, springes if-sætningen over.

If sætningen skal køres hvis $ip_in_list ikke er over 0, da der dermed ikke allerede findes en række med en ip og machende rating_id.

Hvis rækken allerede findes, skal den istedet opdatere rating_id med én mere.

Men problemet er, at det gør den ikke!

Hvis tabellen er tom, virker ifsætningen godt nok, og den opretter rækken. Men efter det, kan jeg submitt'e min form lige så tosset jeg vil, uden der sker noget.

Jeg synes det bliver underligt, når de ikke gør NOGEN af delene... det har jeg aldrig oplevet.
Avatar billede tjp Mester
11. oktober 2003 - 02:51 #1
Hvor kommer '$id' fra i 4. sidste linie? Skulle det måske have været '$rating_id'?
Avatar billede Slettet bruger
11. oktober 2003 - 02:55 #2
Ja, jeg opdagede det selv og rettede det, men det ændrede ingenting.
Avatar billede Slettet bruger
11. oktober 2003 - 02:56 #3
Jeg forsøger at echo'e $ip_in_list når jeg allerede har tilføjet en række. Og den bliver ganske rigtigt 1. Så derfor burde if-sætningen bliver forbigået, og else-sætningen brugt. Men det gør den ikke.

Jeg har testet mysql querystrengen i en mysql terminal, og der virker den fint.
Avatar billede Slettet bruger
11. oktober 2003 - 03:23 #4
Fantastisk! Fejlen var i situationstegnene. Jeg hader dem! :(
Avatar billede tjp Mester
11. oktober 2003 - 03:28 #5
Præcis hvorhenne??
Avatar billede Slettet bruger
11. oktober 2003 - 03:37 #6
$sql = "UPDATE cms_rating SET rating = 'rating+1' WHERE ip = '$ip'";

Skulle være:

$sql = "UPDATE cms_rating SET rating = rating + 1 WHERE ip = ip";

Don't ask me why...
Avatar billede nicklasb Nybegynder
11. oktober 2003 - 10:23 #7
lol.. Det du har skrevet der er; Så længe ip er lig ip..
Altså noget lignende så længe 1 = 1 eller bananer = bananer
Det giver jo ingen mening.. Er det pointene der trykker.. For da syndt at du ikke får noget rigtigt hjælp med i stedet bliver nød til at lukke.. For det der er da helt sikkert forkert..
Bare som en lille sideinformation.. Den der where vil ALTID være sand.. Ellers er der noget meget mere seriøst galt.. :D
Avatar billede Slettet bruger
11. oktober 2003 - 14:16 #8
Okay det var så en typo... jeg c/p'ede ikke.
Der skulle selvfølgelig have stået $ip.
Som sagt var fejlen i quotationmarks ...
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

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Applikationsarkitekt til stor applikationstransformation i Forsvaret

BEC Financial Technologies

Development Manager for Document Lifecycle

Politiets Efterretningstjeneste

GenAI-specialist i PET

Politiets Efterretningstjeneste

Sektionsleder til dataplatform i PET