Yankes Skrevet 19. august 2006 Del Skrevet 19. august 2006 (endret) Jeg henter ut brukernavn fra en .inc-fil der brukernavnene er skilt med ":" // Henter ut brukernavnene til de som har stemt $filsjekk = file('poll/logg.inc'); foreach($filsjekk as $element) { $nestesjekk = explode(":", $element); $stemtbruker = $nestesjekk[?]; } // Sjekker om brukeren har stemt før if($stemtbruker != $bruker) { Problemet mitt er denne linja her: $stemtbruker = $nestesjekk[?]; Setter jeg "$nestesjekk[0];" der så henter den ut det aller første brukernavnet i fila og setter jeg "$nestesjekk[2];" der så henter den ut brukernavn nummer tre! Problemet er: Hva skal jeg skrive? jeg har prøvd disse to, men ingen av dem funka: $nestesjekk; $nestesjekk[*]; Endret 20. august 2006 av YaNkEs Lenke til kommentar
Svish Skrevet 19. august 2006 Del Skrevet 19. august 2006 (endret) $filsjekk = file('poll/logg.inc'); $navn = explode(":", $filsjekk); foreach($navn as $etnavn) { if($etnavn == eller lignende osv ... } antatt her at syntaksen din stemmer, for ikke giddi å sjekke om parametre og sånt stemmer, hehe. men tror det der kanskje skulle stemme mer. det du får ut av file er vel en string er det ikke? og da funker det jo heller dårlig å gå over $filsjekk og late som at det er en array. mulig det da vil bli hver enkelt bokstav, men det vet jeg ikke.. uansett, explode returnerer vel arrayen. så med andre ord er det den du skal foreach'e over, og ikke stringen. did it make any sense? ADDED: og angående Setter jeg "$nestesjekk[0];" der så henter den ut det aller første brukernavnet i fila og setter jeg "$nestesjekk[2];" der så henter den ut brukernavn nummer tre! om du lurte på hvorfor der også, så er det fordi arrays i php, og stort sett alle andre programmeringsspråk (hvert fall de jeg har vært borti) har nullbaserte arrays, eller hva en nå skal kalle dem. med andre ord er den første i liste [0] og den andre [1], osv osv. Endret 19. august 2006 av Tussi_qwerty Lenke til kommentar
Yankes Skrevet 19. august 2006 Forfatter Del Skrevet 19. august 2006 (endret) Jeg vet ikke helt om jeg forsto deg riktig, men jeg lagde denne koden: $brukernavn = $_SESSION['brukernavn']; require("poll/settings.ini"); // Henter brukernavnene til de som har stemt $filsjekk = file('poll/logg.inc'); $user = explode(":", $filsjekk); foreach($user as $bruker) { // Sjekker om brukeren har stemt før if($bruker == $brukernavn) { // Skriver ut resultat include("pollresultater.php"); } else { Det der funka heller ikke : / For hvis du har stemt allerede så skal resultatene kommer, hvis ikke skal du få stemme, men i denne koden får man stemt uansett! Endret 20. august 2006 av YaNkEs Lenke til kommentar
Yankes Skrevet 20. august 2006 Forfatter Del Skrevet 20. august 2006 Ingen som vet hvordan jeg kan løse dette? Jeg kan godt bruke en helt anna kode.. logg.inc fila ser slik ut: bruker1:bruker5:bruker3:bruker18:bruker11:bruker26: Lenke til kommentar
gozzer Skrevet 20. august 2006 Del Skrevet 20. august 2006 (endret) Skal funke som bare rakkern det der. Hvis du ikke helt vet hvor den feiler, så start i det små: $brukere = "en:to:tre:fire"; $brukere = explode(':', $brukere); foreach ($brukere as $bruker) { echo $bruker . "\n"; } Hvis du får det til å funke, oppgrader til å bruke dine variabler, deretter til å faktisk sjekke om brukeren stemmer overens med $_SESSION-variabelen din. Evt. kan du jo smelle inn en echo "Brukernavn fra fil: " . $bruker . " -- brukernavn fra session: " . $brukernavn . "\n"; i foreach-løkka di for å debugge litt. :-) Endret 20. august 2006 av gozzer Lenke til kommentar
Yankes Skrevet 20. august 2006 Forfatter Del Skrevet 20. august 2006 (endret) Skal funke som bare rakkern det der. Hvis du ikke helt vet hvor den feiler, så start i det små: $brukere = "en:to:tre:fire"; $brukere = explode(':', $brukere); foreach ($brukere as $bruker) { echo $bruker . "\n"; } Jeg prøvde nå den første der, men det eneste som kom opp var "Array" altså "echo $bruker" ble til "Array", det kom ikke opp noen brukernavn. EDIT: jeg brukte denne koden: <?php $brukernavn = $_SESSION['brukernavn']; require("poll/settings.ini"); $fil = file('poll/logg.inc'); $usere = explode(":", $fil); foreach ($usere as $bruker) { echo "Fil: $bruker <br>"; echo "Session: $brukernavn <br>"; } ?> og da fikk jeg opp: Fil: Array Session: yankes Endret 20. august 2006 av YaNkEs Lenke til kommentar
gozzer Skrevet 20. august 2006 Del Skrevet 20. august 2006 (endret) Whoopsy, dobbelt opp gitt ... Endret 20. august 2006 av gozzer Lenke til kommentar
gozzer Skrevet 20. august 2006 Del Skrevet 20. august 2006 Merkelig. Kjør en print_r($usere); før foreach-løkka di, og tilsvarende print_r($bruker); inni løkka. Kanskje man blir klokere da :-) Lenke til kommentar
Axentrix Skrevet 20. august 2006 Del Skrevet 20. august 2006 Bruk nå heller funksjonen in_array() da! $bruker_fil = file("poll/logg.inc"); $bruker_array = explode(":",$bruker_fil[0]); if(in_array($bruker,$stemtbruker)){//Brukeren er i arrayet } Lenke til kommentar
gozzer Skrevet 20. august 2006 Del Skrevet 20. august 2006 Men for Guds skyld da mann, hvorfor gjøre det så enkelt?! ;-) Lenke til kommentar
kakkle Skrevet 21. august 2006 Del Skrevet 21. august 2006 Bare endel oppklaringer: det du får ut av file er vel en string er det ikke? Nope... file() returnerer hver linje i filen som et element i en array. Slik at hvis $fil=file("fil.txt") så er $fil[0] linje 1, $fil[1] er linje 2 osv. [pirk] ...if(in_array($bruker,$stemtbruker)){//Brukeren er i arrayet } Regner med at du mener : if(in_array($bruker,$bruker_array)){//Brukeren er i arrayet } Forutsatt at $bruker inneholder gjeldende bruker ($_SESSION["brukernavn"]) [/pirk] Lenke til kommentar
Yankes Skrevet 21. august 2006 Forfatter Del Skrevet 21. august 2006 Tusen takk for hjelpen, jeg har fått det til å funke nå! Lenke til kommentar
Svish Skrevet 21. august 2006 Del Skrevet 21. august 2006 ja, stemmer, file gir array, file_get_contents gir string. beklager, hehe. som sagt, sjekka ikke syntaxen 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å