nree Skrevet 4. januar 2006 Del Skrevet 4. januar 2006 (endret) Jeg har dette scriptet: <?php //variabler $ip = getenv("REMOTE_ADDR"); //script // Ny IP: Meg :p if ($ip=="***.217.123.***") echo <<< end <font color="#FFFFFF"><b><u>Hei Nils Ree</u> <img src="cutenews/data/emoticons/tongue.gif"></b></font><br /> end; else end; // Ny IP: Ståle if ($ip=="***.167.52.***") echo <<< end <font color="#FFFFFF"><b><u>Hei Hasib</b></u></font><br /> end; else end; // Ny IP: Hasib if ($ip=="***.134.125.***") echo <<< end <font color="#FFFFFF"><b><u>Hei Ståle Nestås</u><br />Du er alt for mye inne her <img src="cutenews/data/emoticons/tongue.gif"></b></font><br /> end; else end; // Ny IP: Jani, Klepp? if ($ip=="***.108.160.***") echo <<< end <font color="#FFFFFF"><b><u>Hei Janay</u> <img src="cutenews/data/emoticons/tongue.gif"></b></font><br /> end; else end; // Ny IP: Marius i 8. if ($ip=="***.225.81.1**") echo <<< end <font color="#FFFFFF"><b><u>Hei Marius</u></b></font><br /> end; else end; // Ny IP: Bryne Ungd. Skule if ($ip=="***.68.117.***") echo <<< end <font color="#FFFFFF"><b><u>Hei Bryne Ungdoms Skole</u></b></font><br /> end; else end; ?> På siden min, slik at det kommer opp en hilsen til den personen som går inn på siden vist IP adressen er registrert. Jeg vil lage et registrerings skjema som skriver til den PHP filen (chmodde) slik at folk kan registrere skrive inn navn og det kommer: Hei $navn Noen som kan hjelpe? Endret 4. januar 2006 av goggen90 Lenke til kommentar
???????? Skrevet 5. januar 2006 Del Skrevet 5. januar 2006 Det scriptet ditt var en smule rart skrevet, det fungerer med det er noe overføldig og følger ikke vanlig php kodestil. Denne: if ($ip=="***.217.123.***") echo <<< end <font color="#FFFFFF"><b><u>Hei Nils Ree</u> <img src="cutenews/data/emoticons/tongue.gif"></b></font><br /> end; else end; Kan skrives slik: if ($ip=="***.217.123.***") echo '<font color="#FFFFFF"><b><u>Hei Nils Ree</u> <img src="cutenews/data/emoticons/tongue.gif"></b></font><br />'; Okay, over til spørsmålet ditt. Det er litt avhengig av antallet brukere som du regner med kommer til å registrere seg på siden din. Dersom det ikke er så mange er det enklest å kun bruke en tekstfil. Regner du med at mange personer kommer til å registrere seg må du nesten benytte en database, slik at du kan sortere adressene og søke raskere i den. Du kan starte med en tekstfil og eventuelt oppdatere dersom du får mange brukere. Det første du trenger er en skrivbar fil, opprett en ny fil og pass på at den ikke er skrivebeskyttet (på windows) eller at den har skriverettighet på *nix (CHMOD). For alle brukere som skal legges til burde du plassere disse en på hver linje i filen, med et skilletegn mellom ip og navn, f.eks. \t (tab). Slik at filen fil se slik ut: 123.123.123.123 \t Navn 1 111.111.111.111 \t Navn 2 222.222.222.222 \t Navn 3 333.333.333.333 \t Navn 4 (i steden for \t skal det være et tablurator mellomrom) Når du skal lese fra filen igjen for å se hvis en bruker er reistrert så søker du gjennom filen etter ip adressen. Dette kan du gjøre ved å explode hver linje på tegnet \t eller søke med preg_match. Thats it. Ta en kikk på følgende i manualen: www.php.net/fopen www.php.net/fwrite www.php.net/fclose www.php.net/preg_match www.php.net/explode Lenke til kommentar
nree Skrevet 5. januar 2006 Forfatter Del Skrevet 5. januar 2006 Jeg vil kalle meg selv nybegynner i PHP, så vist du kan forklare litt mer hva du mener? \t greiene osv.. det scriptet som sier velkomsthilsen redigerte jeg fra ett eksempel på beskyttet side for sessions.. Lenke til kommentar
???????? Skrevet 5. januar 2006 Del Skrevet 5. januar 2006 \t = tab (som i det du får frem dersom du klikker på [tab] knappen din) Hva er det du ikke forstår? Når brukere registrerer seg så legger du til en linje som ser slik ut i en fil: 111.111.111.111 \t Navn på brukeren Når brukere besøker siden din så leser du inn filen ved hjelp av file() f.eks. $innhold = file("navn på filen.txt"); Så kjører du en foreach() loop på $innhold, for nå er $innhold en array med en linje for hvert element i arrayen foreach($innhold as $linje) I den foreach loopen så bruker du preg_match for å sjekke om du finner brukeren sin ip. Finner du den så bruker du $navn = explode("\t", $linje) og da finnes navnet til brukeren i $navn[1] (echo $navn[1]. Lenke til kommentar
nree Skrevet 6. januar 2006 Forfatter Del Skrevet 6. januar 2006 feks. hva en foreach loop er... er nybegynner i PHP, altså jeg kan nesten ikke noe slikt.. Lenke til kommentar
???????? Skrevet 6. januar 2006 Del Skrevet 6. januar 2006 foreach() kjører en loop med alle variabler i en array. I dette tilfellet så har du variabelen $innhold, som inneholder alle linjene i scriptet. foreach() på den vil da behandle hver linje i scriptet. Lenke til kommentar
nree Skrevet 6. januar 2006 Forfatter Del Skrevet 6. januar 2006 hmm, kansje jeg forstod litt mer, men ibare littegran.. Lenke til kommentar
???????? Skrevet 6. januar 2006 Del Skrevet 6. januar 2006 Okay, det virker som du gjør et forsøk her så jeg skal hjelpe deg litt. Du trenger et skjema for registrering av brukere: <form method="post" action="navnet_på_phpscriptet.php"> Ditt navn: <input type="text" name="navn"><br> <input type="submit" value="Registrer navn"><br> </form> Denne koden sender du til php scriptet som registrerer brukeren. Men først så oppretter du en fil med skriverettigheter (på *nix systemer vil dette si å endre CHMOD). <?php $handle = fopen('brukere.txt', 'a'); fwrite($handle, "{$_SERVER['REMOTE_ADDR']}\t{$_REQUEST['navn']}\n"); fclose($handle); ?> Nå har brukeren lagt til sin IP og sitt navn i txt filen. Da er det over til den delen der brukeren skal gjenkjennes på siden din. Da leser vi inn filen i en array og søker gjennom filen: <?php $innhold = file('brukere.txt'); foreach ($innhold as $linje) { if( preg_match("/{$_REQUEST['REMOTE_ADDR']}/", $linje) ) { $navn = explode("\t", $linje); echo "Velkommen {$navn[1]}"; brake; } } ?> Merk, denne er skrevet i all hast her i et textarea så koden kan inneholde bugs og feil - men den burde gi deg en pekepinne i alle fall. Lenke til kommentar
nree Skrevet 7. januar 2006 Forfatter Del Skrevet 7. januar 2006 Lærte masse nytt nå.. Tusen takk Lenke til kommentar
???????? Skrevet 7. januar 2006 Del Skrevet 7. januar 2006 Ser en åpenbar feil nå, i siste kodeboks skal det naturligvis være $_SERVER['REMOET_ADDR'] og ikke $_REQUEST Lenke til kommentar
nree Skrevet 7. januar 2006 Forfatter Del Skrevet 7. januar 2006 (endret) Siden scriptet ditt tar med alle, kommer det Velkommen Velkommen Velkommen osv i tekstfilen uansett om folk skrev inn navn eller ikke. Prøvde meg litt, men hvordan får jeg til at når folk virkelig skriver navn, skriver scriptet til filen? <?php $handle = fopen('brukere.txt', 'a'); if (empty($_REQUEST['navn'])) { echo "Fyll ut navn!"; } fwrite($handle, "{$_SERVER['REMOTE_ADDR']}\t{$_REQUEST['navn']}\n"); fclose($handle); ?> EDIT: altså, hva skal jeg legge inn mellom if (empty($_REQUEST['navn'])) { echo "Fyll ut navn!"; } og fwrite($handle, "{$_SERVER['REMOTE_ADDR']}\t{$_REQUEST['navn']}\n"); ? Endret 7. januar 2006 av goggen90 Lenke til kommentar
nree Skrevet 7. januar 2006 Forfatter Del Skrevet 7. januar 2006 Tror det funket nå, men man kan registrere seg to ganger så det står Velkommen NAVN Velkommen NAVN Lenke til kommentar
nree Skrevet 7. januar 2006 Forfatter Del Skrevet 7. januar 2006 (endret) http://goggen.simplemachines.no/hp1.9/index.php?side=brukere http://goggen.simplemachines.no/hp1.9/index.php?side=regip http://goggen.simplemachines.no/hp1.9/index.php?side=regform Når man går inn på regip siden kommer det 1 til velkommen altså IP adressen blir lagt til hvær gang og i tillegg kan man altså registrere seg flere ganger.. Velkommen test Velkommen test Velkommen Velkommen Velkommen Velkommen Velkommen teeest Endret 7. januar 2006 av goggen90 Lenke til kommentar
???????? Skrevet 7. januar 2006 Del Skrevet 7. januar 2006 Det er ikke noen sperre der for å registrer seg flere ganger, det må du legge til selv. Du har jo allerede søkefunksjonen der som søker gjennom filen - så det burde ikke være noen problem. Lenke til kommentar
nree Skrevet 7. januar 2006 Forfatter Del Skrevet 7. januar 2006 Jeg har prøvd og legge den til selv, får det ikke til 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å