---
title: "vad är felet?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/16535-vad-är-felet"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "caze"
published: "2002-01-06T00:15:00.000Z"
updated: "2002-01-06T14:00:00.000Z"
replies: 10
views: 239
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/16535-vad-är-felet"
---

# vad är felet?

## #1 — caze, 2002-01-06T00:15Z

Hejsan!

Jag klistrade in ett php skript som kan lägga till länkar... det verkar inte fungera, eftersom ingenting händer när jag jag skrivit till en vad är felet?
 <http://www.thi-sthlm.com/carl/asp5/index.php> 

tack på förhand

Permalänk: https://www.webforum.nu/p/16535

## #2 — FlashX, 2002-01-06T00:49Z

Knepigt när man inte vet hur links.php ser ut...

Permalänk: https://www.webforum.nu/p/325655

## #3 — caze, 2002-01-06T11:31Z

Så här ser links.php ut:

\<?
// Besökarnas länkar 1.2
// Copyright © 2001 Mathias Niklasson
// <http://www.niklasson.net/> 

\##################################################
\# Script

require ("./variablar.php");

$fp = fopen("$ipfil", 'r');
$ip = fgets($fp,255);
fclose($fp);

if(strcmp($ip,$REMOTE_ADDR)) {
$link=htmlspecialchars($link);
$link=stripslashes($link);
$link=str_replace("\\n","",$link);
$text=htmlspecialchars($text);
$text=stripslashes($text);
$text=str_replace("\\n","",$text);

$fp = fopen("$linksfil", '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("$linksfil", '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("$ipfil", 'w');
$ip = fputs($fp,$REMOTE_ADDR);
fclose($fp);
}

header("Location: $origfil");
?\>

Permalänk: https://www.webforum.nu/p/325656

## #4 — FlashX, 2002-01-06T11:54Z

Jo, jag listade ut att det var niklassons.
Testade lite snabbt på min egen server och det fungerar utmärkt.
Eftersom jag kör register_globals = Off så fick jag visserligen ändra lite i mottagningen av variablerna men det är inte problemet hos dig. I så fall hade du fått tomma radbrytningar varje gång någon lägger till en länk.

Det enda jag gjorde, utöver att ladda upp filerna i samma mapp, var att sätta skrivrättigheter på ip.txt och links.txt.
Vad jag kan se, så är det egentligen bara dessa saker du bör kontrollera.

Permalänk: https://www.webforum.nu/p/325657

## #5 — caze, 2002-01-06T12:25Z

Förstås inte...:(
som du kanske förstår e jag inte bra på detta...vad menar du, vad exakt ska jag göra för att det ska fungerar som för dig...kan du förklara lite mer detaljerat och för en nybörjare som jag "enkelt":)

tack...

Permalänk: https://www.webforum.nu/p/325658

## #6 — FlashX, 2002-01-06T12:29Z

Liten reservation.
Om servern du använder kör en forward på IP:et så lär alla besökare få localhost i $REMOTE_ADDR, vilket innebär att de redan satt en länk i filen eftersom ip.txt redan innehåller 127.0.0.1

I detta fallet måste du ändra skriptet:

```
<?
// Besökarnas länkar 1.2
// Copyright © 2001 Mathias Niklasson
// [url="http://www.niklasson.net/"]http://www.niklasson.net/[/url] 

##################################################
# Script

$ip_nummer = getenv(HTTP_X_FORWARDED_FOR);

require ("./variablar.php");

$fp = fopen("$ipfil", 'r');
$ip = fgets($fp,255);
fclose($fp);

if(strcmp($ip,$ip_nummer)) {
$link=htmlspecialchars($link);
$link=stripslashes($link);
$link=str_replace("\n","",$link);
$text=htmlspecialchars($text);
$text=stripslashes($text);
$text=str_replace("\n","",$text);

$fp = fopen("$linksfil", '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("$linksfil", '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("$ipfil", 'w');
$ip = fputs($fp,$ip_nummer);
fclose($fp);
}

header("Location: $origfil");
?>
```

Detta gäller bl.a. f2s.com men det finns säkert flera.

Permalänk: https://www.webforum.nu/p/325659

## #7 — FlashX, 2002-01-06T12:34Z

Nu skrev du ett inlägg under tiden jag skrev mitt.
Skapa en php-fil som ser ut så här:

```
<?
print ("$REMOTE_ADDR\n")
?>
```

Ladda upp den på servern och öppna den i webbläsaren.
Om det står 127.0.0.1 på sidan, så ska du istället använda skriptet som jag postade i förra inlägget. Du byter alltså ut all kod i links.php mot den.

Permalänk: https://www.webforum.nu/p/325660

## #8 — caze, 2002-01-06T13:16Z

nu när jag la in 
\<?
print ("$REMOTE_ADDR\\n")
?\>
 [www.thi-sthlm.com/carl/asp5/kalas.php](http://www.thi-sthlm.com/carl/asp5/kalas.php)  så visar den inte 127.0.0.1 på sidan utan 217.208.194.243 .

Varför fungerar det ändå inte.... när man lägger till en länk så updateras bara den sidan och inget händer...:(

Permalänk: https://www.webforum.nu/p/325661

## #9 — FlashX, 2002-01-06T13:32Z

Ok, då behöver du inte byta koden i skriptet.
Om du laddat upp filerna i samma mapp (och det verkar det ju som) så är det bara att se till så det finns skrivrättigheter på filerna ip.txt samt links.txt
På en unix-server innebär det att man måste chmodda filerna och för det mesta måste det vara 777 eftersom webbservern oftast går som en annan användare.
Är det en windowsmaskin så används inte chmod och är det en sådan du använder, så vet jag inte var problemet ligger. Använder själv inte kombinationen php och windows och har därför ingen möjlighet att testa detta.

Permalänk: https://www.webforum.nu/p/325662

## #10 — caze, 2002-01-06T13:40Z

vad menar du med att det finns skrivrättigheter...?

Permalänk: https://www.webforum.nu/p/325663

## #11 — FlashX, 2002-01-06T14:00Z

På en \*nix-server så är du en användare när du loggar in via din ftp-klient. Du har då skrivrättigheter på filerna du laddar upp eftersom du är ägare till dessa. Webbservern är också en användare på servern men är ju inte samma användare som du. Den äger alltså inte dina filer och kan därför inte skriva till filer som du laddar upp. Därför måste du ge tillstånd för andra användare att skriva till filerna ip.txt och links.txt.
Detta kan du göra med din ftp-klient. Det skilljer kanske lite i hur man gör detta men vanligtvis räcker det med att högerklicka på filen och välja något som heter CHMOD i menyn som dyker upp.
Du får då en dialogruta som visar olika kombinationer man kan välja mellan.
Oftast brukar det finnas kryssrutor och dessa är indelade i tre grupper. Ägare, Grupp och Andra. Var och en av dessa är indelade i tre alternativ. Läs, Skriv och exekvera. För att ange chmod 777 så ska alla rutor bockas i.

Permalänk: https://www.webforum.nu/p/325664

---

Tråden på webben: https://www.webforum.nu/amne/php/16535-vad-är-felet
