Gå til innhold

Registrere IP, script for velkomsthilsen på siden


Anbefalte innlegg

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 av goggen90
Lenke til kommentar
Videoannonse
Annonse

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

\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

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

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 av goggen90
Lenke til kommentar

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 av goggen90
Lenke til kommentar
  • 2 uker senere...

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...