Sonymann Skrevet 12. mai 2004 Del Skrevet 12. mai 2004 Finnes det en måte, med PHP, å kreve at en verdi er et heltall før det legges inn i database? Lenke til kommentar
sven-o Skrevet 12. mai 2004 Del Skrevet 12. mai 2004 Du kan f.eks bruke fuksjonene floor(), ceil() eller round(). (?) Lenke til kommentar
???????? Skrevet 12. mai 2004 Del Skrevet 12. mai 2004 Da endrer du tallet. Du kan f.eks. teste tallet med en av de funksjonene sven-o nevner, f.eks.: if($tall === floor($tall)){ echo "Tallet er et heltall!"; } Lenke til kommentar
Sonymann Skrevet 13. mai 2004 Forfatter Del Skrevet 13. mai 2004 (endret) Jeg har nå gjort som ????????? sa, men har fremdeles problemer. Uansett hva jeg skriver får jeg "$timer er en ugyldig verdi". <? $brukernavn=$_POST["brukernavn"]; $timer=$_POST["timer"]; if($timer = round($timer)){ $connection = @mysql_connect(localhost, BRUKER, PWD) or die("Umulig å få kontakt med database"); mysql_select_db(DATABASE); @mysql_query("UPDATE brukere SET timer=(timer +$timer) WHERE brukernavn = $brukernavn"); @mysql_query("UPDATE brukere SET turer=(turer +1) WHERE brukernavn = $brukernavn"); print("Turen din er nå logget"); } else { print("$timer er en ugyldig verdi."); } ?> Endret 13. mai 2004 av Sonymann Lenke til kommentar
???????? Skrevet 13. mai 2004 Del Skrevet 13. mai 2004 = gir ny verdi, så når du sjekker if($timer = round($timer)){ så sjekker du om du kan gi timer den verdien. Bruk == eller === Lenke til kommentar
Sonymann Skrevet 13. mai 2004 Forfatter Del Skrevet 13. mai 2004 OK. Nå gikk det i boks. Men problem nr. 2 er at ingenting blir lagt inn i databasen! Hvordan kan jeg få gjort noe med det problemet? Jeg er sikker på at begge variablene er med, det har jeg testet. Lenke til kommentar
???????? Skrevet 13. mai 2004 Del Skrevet 13. mai 2004 Ta bort @så får du kanskje opp en feilmelding Legg også til mysql_error(); Lenke til kommentar
Sonymann Skrevet 13. mai 2004 Forfatter Del Skrevet 13. mai 2004 Feilmelding: Unknown column 'sebross' in 'where clause' Skjønner ingenting! : Lenke til kommentar
???????? Skrevet 13. mai 2004 Del Skrevet 13. mai 2004 Del opp spørringene på denne måten: $query = "UPDATE... $result = mysql_query($query); Så echo'er du $query Lenke til kommentar
sven-o Skrevet 13. mai 2004 Del Skrevet 13. mai 2004 (endret) Regner med at brukernavn er en varchar el., noe som betyr at du må ha enkeltfnutter i where klausulen din. Slik: @mysql_query("UPDATE brukere SET timer=(timer +$timer) WHERE brukernavn = '$brukernavn'"); Endret 13. mai 2004 av sven-o Lenke til kommentar
Sonymann Skrevet 13. mai 2004 Forfatter Del Skrevet 13. mai 2004 Vel, det ser ut som om problemet ligger i handlingene. $query="UPDATE brukere SET timer='3', turer='4' WHERE brukernavn = '$brukernavn'"; Dette fungerer. Da legges 3 og 4 inn. Dette fungerer ikke, og slik er det det bør være: $query="UPDATE brukere SET timer='timer +$timer', turer='turer +1' WHERE brukernavn = '$brukernavn'"; Lenke til kommentar
sven-o Skrevet 13. mai 2004 Del Skrevet 13. mai 2004 Vel, det ser ut som om problemet ligger i handlingene. $query="UPDATE brukere SET timer='3', turer='4' WHERE brukernavn = '$brukernavn'"; Dette fungerer. Da legges 3 og 4 inn. Dette fungerer ikke, og slik er det det bør være: $query="UPDATE brukere SET timer='timer +$timer', turer='turer +1' WHERE brukernavn = '$brukernavn'"; Når du bruker int i en database skal du ikke benytte enkeltfnutter. Riktige queries blir slik: $query="UPDATE brukere SET timer=3, turer=4 WHERE brukernavn = '$brukernavn'"; //Her er det dog vagfritt(ved tilordning) $query="UPDATE brukere SET timer=timer+$timer, turer=turer+1 WHERE brukernavn = '$brukernavn'"; Lenke til kommentar
Sonymann Skrevet 13. mai 2004 Forfatter Del Skrevet 13. mai 2004 Der gikk det! Takk for all hjelp! Lenke til kommentar
ilpostino Skrevet 14. mai 2004 Del Skrevet 14. mai 2004 Bruk == eller === hva er forskjellen på == og === ? Lenke til kommentar
???????? Skrevet 14. mai 2004 Del Skrevet 14. mai 2004 (endret) == er lik === er identisk EDIT: 1 == 01 //korrekt 1 === 01 //feil Endret 14. mai 2004 av ???????? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå