webForumDet fria alternativet

besökare lägga länkar

25 svar · 429 visningar · startad av zipp3r

zipp3rMedlem sedan aug. 2000963 inlägg
#1

jag letar efter ett php script
som gör att besökarna kan lägga till länkar på sidan typ 5 st så alla kan se det
som på tilja.net fast med php
nån som vet?

------------------
signatur?

[Redigerat av zipp3r den 09 aug 2000]

nanneMedlem sedan dec. 19991 749 inlägg
#2

Det finns nästan lika många sätt att göra detta som att säja snö på eskimå språket.

Hur har du tänkt dig?

------------------
Can you tell a 3 year old what a slow modem is?

nanne.net

zipp3rMedlem sedan aug. 2000963 inlägg
#3

hur jag har tänktmej?
hur menar du ?
jag vill ha ett som på tilja.net
och jesper.nu
fast med php
och det använder jesper.nu sej av

vet inte hur jag skall förklara =)

------------------
signatur?

nicclasMedlem sedan feb. 20001 050 inlägg
#4

Så ja, nu var det klart :)

Naturligtvis går det att göra detta på många sätt och det blir lite coolare om man använder en databas, men jag gjorde en utan, eftersom jag inte vet om du kan köra MySql.

Skriptet består av fyra filer:

v.php3Visar länkarna.

<HTML>
<! () [url="http://www.nic-sys.se"]www.nic-sys.se[/url]  >
<HEAD>
</HEAD>
<BODY>
Besökarnas hemsidor:<br>
<?
$fp = fopen("links.txt", 'r');
  $antal=fgets($fp,1024);
  for($i=0;$i<$antal;$i++){
    $link=fgets($fp,255);
    $text=fgets($fp,255);
    echo "<a href='http://$link'>$text</a><br>";
  }

?>
<BR>
<A HREF="s.html">Lägg till din egen länk!</A>
</BODY>
</HTML>

s.html Sida för att skicka in nya länkar.

<HTML>
<! () [url="http://www.nic-sys.se"]www.nic-sys.se[/url]  >
<HEAD>
</HEAD>
<BODY>
<FORM METHOD="POST" ACTION="i.php3">
Skriv in länk, typ "www.nic-sys.se":<INPUT NAME="link"><br>
Skriv beskrivning, typ "Min nyhetshemsida":<INPUT NAME="text"><br>
<INPUT TYPE="submit" VALUE="Skicka"><br>
</FORM>					
</BODY>
</HTML>

i.php3 Sidan som lägger till länken i filen links.txt

<?
//
// () [url="http://www.nic-sys.se"]www.nic-sys.se[/url] 
//
// Sållar bort HTML och annat junk.
$link=htmlspecialchars($link);
$link=nl2br($link);
$link=stripslashes($link);
$link=str_replace("\n","",$link);
$text=htmlspecialchars($text);
$text=nl2br($text);
$text=stripslashes($text);
$text=str_replace("\n","",$text);
//
// Sparar senaste länken överst
$fp = fopen("links.txt", 'r');
$antal=fgets($fp,255);
for($i=0;$i<$antal;$i++){
  $alink[$i]=fgets($fp,255);
  $atext[$i]=fgets($fp,255);
}
fclose($fp);
$fp = fopen("links.txt", 'w');
fputs($fp,"$antal");
fputs($fp,"$link\n");
fputs($fp,"$text\n");
for($i=0;$i<$antal-1;$i++){
  fputs($fp,"$alink[$i]");
  fputs($fp,"$atext[$i]");
}
fclose($fp);
//
// "Hoppar tillbaka"
header("Location: v.php3");
?>

Filen links.txt måste innehålla data från början, typ

5
[url="http://www.nic-sys.se"]www.nic-sys.se[/url] 
nicclas hemsida
[url="http://www.nic-sys.se"]www.nic-sys.se[/url]
nic-sys.se
[url="http://www.nic-sys.se"]www.nic-sys.se/news/[/url] 
AllaNyheter.com
[url="http://www.nic-sys.se"]www.nic-sys.se/news/[/url] 
GRATIS!
[url="http://www.nic-sys.se"]www.nic-sys.se[/url] 
Grattis!

där 5 anger hur många länkar som finns i filen! Filen links.txt skall vara skrivbar från PHP (typ chmod 777 links.txt).

/nicclas http://www.nic-sys.se <-- Har ett liknande, fast coolare, script på min sida!

[Redigerat av nicclas den 08 aug 2000]

MattiMedlem sedan dec. 19996 592 inlägg
#5

zipp3r, verkar som om jag slipper skriva ett skript ;)

------------------
Coz I'm a disturber yes I am..

nicclasMedlem sedan feb. 20001 050 inlägg
#6

Nä, Matti det behöver du inte. Men du får gärna debugga mitt :)

/nicclas http://www.nic-sys.se

[Redigerat av nicclas den 08 aug 2000]

zipp3rMedlem sedan aug. 2000963 inlägg
#7

tack så hemskt mycket
för hjälpen skall lägga upp det på min hemsa nu =)

Mvh zipp3r

------------------
signatur?

MattiMedlem sedan dec. 19996 592 inlägg
#8

Förresten.. nicclas, kan jag sprida det här skriptet vidare från min hemsida? Givetvis med länk till dig.. :)

------------------
Coz I'm a disturber yes I am..

nicclasMedlem sedan feb. 20001 050 inlägg
#9

NEJ gör inte det än! Jag ska fila lite på den, sen kan du lägga upp den på din sida.

(Detta gäller naturligtvis endast Matti !!!!)

/nicclas

[Redigerat av nicclas den 08 aug 2000]

MattiMedlem sedan dec. 19996 592 inlägg
#10

*bortredigerat pga. ålderdom*
------------------
Coz I'm a disturber yes I am..

[Redigerat av Matti den 08 aug 2000]

nanneMedlem sedan dec. 19991 749 inlägg
#11

Att ni bara orkar skriva hela lösningar på beställning

------------------
Can you tell a 3 year old what a slow modem is?

nanne.net

kajusMedlem sedan sep. 2000221 inlägg
#12

Jag undrar hur man gör så att inte samma person kan skicka in på en "besökarnas länkar" script i php
Jag skulle vilja ha så att personen bara kunde skicka in en länk och sedan vänta i ca 5 min. Tilja.net har det, men det är nog i asp...

mvh John

------------------
...

nicclasMedlem sedan feb. 20001 050 inlägg
#13

Det finns väl i princip två sätt att lösa det på.
i) Sätt en "cookie" hos besökaren då en länk skickas in som har en giltighetstid på. säg, fem minuter. Varje gång en besökare skickar in en länk så kollar du om besökaren har denna "cookie".
ii) Gör en logg över alla IP-nummer och tidpunkter då besökare skickar in länkar. Varje gång en länk skickas in kollar du om detta IP har skickat in för mindre än fem minuter sedan. [Alternativt kan du logga IP-nummret endast på den senast inskickade länken och kolla så att det inte är samma person som skickar två gånger "i rad".]

Inget av sätten är dock 100% säkert ty i) fungerar inte om cookies är avstängda och ii) går (ofta) att komma runt genom att koppla ner och koppla upp sig igen, och i och med det få ett nytt IP-nummer.

/nicclas - http://www.nyhetsrubriker.com/

nicclasMedlem sedan feb. 20001 050 inlägg
#14

Gjorde enligt ii) och sparade endast IP-nummret på senaste inskickade länken.

Byt i.php3 till denna nya version

<?
//
// () [url="http://www.nic-sys.se"]www.nic-sys.se[/url] 
//

$fp = fopen("ipnummer.txt", 'r');
$ip=fgets($fp,255);
fclose($fp);
if(strcmp($ip,$REMOTE_ADDR)){

  // Tar bort HTML och annat junk.
  $link=htmlspecialchars($link);
  $link=stripslashes($link);
  $link=str_replace("\n","",$link);
  $text=htmlspecialchars($text);
  $text=stripslashes($text);
  $text=str_replace("\n","",$text);
  //
  // Sparar senaste länken överst
  $fp = fopen("links.txt", 'r');
  $antal=fgets($fp,255);
  for($i=0;$i<$antal;$i++){
    $alink[$i]=fgets($fp,255);
    $atext[$i]=fgets($fp,255); 
  }
  fclose($fp);
  $fp = fopen("links.txt", 'w');
  fputs($fp,"$antal");
  fputs($fp,"$link\n");
  fputs($fp,"$text\n");
  for($i=0;$i<$antal-1;$i++){
    fputs($fp,"$alink[$i]");
    fputs($fp,"$atext[$i]");
  }
  fclose($fp);
  $fp = fopen("ipnummer.txt", 'w');
  $ip=fputs($fp,$REMOTE_ADDR);
  fclose($fp);
}
//
// "Hoppar tillbaka"
header("Location: v.php3");

?>

Skapa först en tom fil "ipnummer.txt" som är skrivbar från PHP.

/nicclas - http://www.nyhetsrubriker.com

KimMedlem sedan jan. 20007 697 inlägg
#15

Jobbigt om man inte har så många besökare bara. Säg att en person vill skicka in en länk. Det går bra för honom. Fyra dagar senare vill han skicka in en ny länk. Men eftersom ingen har skickat in någon länk undertiden så får han inte göra detta.
Då är det bättre att kolla tidpunkten då denne skickade in länken :)

------------------
Kim Halderot - med rätt att snora

nicclasMedlem sedan feb. 20001 050 inlägg
#16

Jo, minns jag inte fel så beskrev jag hur man kan göra bara för några timmar sen här ovan. Problemet är att någon skall programmera det också... Jag valde att visa hur man kan programmera det "enklaste" alternativet. Resten klarar du nog själv...

/nicclas - http://www.nic-sys.se

[Redigerat av nicclas den 24 sep 2000]

KimMedlem sedan jan. 20007 697 inlägg
#17

ok, jag skumläste bara igenom tråden så jag missade väl det. :)

Sorry...

------------------
Kim Halderot - med rätt att snora

startailMedlem sedan sep. 2000155 inlägg
#18

Kan man göra så att den kolla om länken redan finns i arkivet. Ie Namn & URL. Och sen undrar jag om det e möjligt att göra så att den lägger ut dom raden den behöver ist för det som e defenierat i links.txt filen. ?? Nån som känner för att spinna vidare ?

crisse6Medlem sedan dec. 20002 526 inlägg
#19

varför måste du skriva koden med så j*vla små bokstäver???? x(

MattiMedlem sedan dec. 19996 592 inlägg
#20

Crisse6, möjligen för att övriga forummedlemmar inte vill scrolla i 5 minuter bara för att någon inte känner till hur man ökar fontstorleken i browsern; Klicka på Visa --> Textstorlek --> Störst - wala.

------------------
spelling error.

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)