Avatar billede bb_maze Nybegynder
24. september 2004 - 18:36 Der er 6 kommentarer og
1 løsning

Register_globals off - hvad skal ændres?

Hejsa

Jeg er flyttet til en server hvor register_globas = off. Det betyder at et af mine scripts ikke virker. jeg oprettede en tråd tidligere hvor jeg fik følgende afvide:
----
$PHP_SELF -> $_SERVER['PHP_SELF']
$REMOTE_ADDR -> $_SERVER['REMOTE_ADDR']

Alle form post varible skal hedde $_POST['variabelnavn'] og variable i URL'en skal hedde $_GET['variabelnavn']
---

Men jeg kan ikke finde nogle af de ting i scriptet. Er det mig der er blind, eller er der andre ting galt??

Her er koden:
<?
header('Cache-Control: no-cache');
header('Pragma: no-cache');

if($id)
{
include("connect.php");

$data = mysql_query("select url, hits from linkcounter where id = '$id'");
$row = mysql_fetch_array($data);
$hits = $row[hits] + 1;
mysql_query("update linkcounter set hits = '$hits' where id = '$id'");
header("location: $row[url]");

mysql_close;
exit;
}

if($action == "ny")
{
include("connect.php");

mysql_query("insert into linkcounter (url, hits) values ('$url', '0')");
$data = mysql_query("select id from linkcounter where url = '$url'");
$row = mysql_fetch_array($data);
?>
<html>

<font face="verdana">
Brug <b>linkcounter.php?id=<? echo("$row[id]"); ?></b> for at tælle på dette link.<br><br>
Du vil så automatisk blive sendt videre til <? echo("$url"); ?>.
</font>

</html>
<?
mysql_close;
exit;
}

if($action == "slet")
{
include("connect.php");

mysql_query("delete from linkcounter where id = '$slet'");

mysql_close;
}
?>
<html>
<head>
<title>Linkcounter</title>
</head>

  <!-- ------------------------- -->
  <!-- Lavet af Michael Bested  -->
  <!-- michael@bested.nu        -->
  <!-- www.the-gnu.dk            -->
  <!-- ------------------------- -->

<font face="verdana">
<b>Tilføj ny:</b>
<form action="linkcounter.php" method="post">
<input type="hidden" name="action" value="ny">
URL: <input type="text" name="url"> F.eks. billeder.php<br>
<input type="submit" value="Okai">
</form><br>

<b>Slet:</b>
<form action="linkcounter.php" method="post">
<input type="hidden" name="action" value="slet">
ID: <input type="text" name="slet"><br>
<input type="submit" value="Okai">
</form><br><br>

Når du vil tælle antal gange et link er blevet trykket på, skal du lige
ind og vende dette script. Dette gøres ved at linke til:
<b>linkcounter.php?id=ID</b> - så vil scriptet selv vidrestille til den
url du indtastede, da du oprettede linket!

<br><br><br>
<?
include("connect.php");

$data = mysql_query("select * from linkcounter order by id");
while ($row = mysql_fetch_array($data))
{
?>
ID: <? print("$row[id]") ?><br>
URL: <? print("$row[url]") ?><br>
HITS: <? print("$row[hits]") ?><br>
<hr>
<?
}
mysql_close;
?>
</font>

</html>


------------

Det kunne være fedt hvis der var nogle der kunne udpege hvor der skulle rettes noget, og hvad det skulle ændres til. På forhånd tak!

HYGGE
Avatar billede hmortensen Nybegynder
24. september 2004 - 18:43 #1
Noget i den her retning:

<?
header('Cache-Control: no-cache');
header('Pragma: no-cache');

if(isset($_REQUEST["id"]))
{
include("connect.php");

$data = mysql_query("select url, hits from linkcounter where id = '".$_REQUEST["id"]."'");
$row = mysql_fetch_array($data);
$hits = $row["hits"] + 1;
mysql_query("update linkcounter set hits = '$hits' where id = '".$_REQUEST["id"]."'");
header("location: $row[url]");

mysql_close;
exit;
}

if($_REQUEST["action"] == "ny")
{
include("connect.php");

mysql_query("insert into linkcounter (url, hits) values ('".$_REQUEST["url"]."', '0')");
$data = mysql_query("select id from linkcounter where url = '".$_REQUEST["url"]."'");
$row = mysql_fetch_array($data);
?>
<html>

<font face="verdana">
Brug <b>linkcounter.php?id=<? echo $row["id"]; ?></b> for at tælle på dette link.<br><br>
Du vil så automatisk blive sendt videre til <? echo $_REQUEST["url"]; ?>.
</font>

</html>
<?
mysql_close;
exit;
}

if($_REQUEST["action"] == "slet")
{
include("connect.php");

mysql_query("delete from linkcounter where id = '".$_REQUEST["slet"]."'");

mysql_close;
}
?>
<html>
<head>
<title>Linkcounter</title>
</head>

  <!-- ------------------------- -->
  <!-- Lavet af Michael Bested  -->
  <!-- michael@bested.nu        -->
  <!-- www.the-gnu.dk            -->
  <!-- ------------------------- -->

<font face="verdana">
<b>Tilføj ny:</b>
<form action="linkcounter.php" method="post">
<input type="hidden" name="action" value="ny">
URL: <input type="text" name="url"> F.eks. billeder.php<br>
<input type="submit" value="Okai">
</form><br>

<b>Slet:</b>
<form action="linkcounter.php" method="post">
<input type="hidden" name="action" value="slet">
ID: <input type="text" name="slet"><br>
<input type="submit" value="Okai">
</form><br><br>

Når du vil tælle antal gange et link er blevet trykket på, skal du lige
ind og vende dette script. Dette gøres ved at linke til:
<b>linkcounter.php?id=ID</b> - så vil scriptet selv vidrestille til den
url du indtastede, da du oprettede linket!

<br><br><br>
<?
include("connect.php");

$data = mysql_query("select * from linkcounter order by id");
while ($row = mysql_fetch_array($data))
{
?>
ID: <? print $row["id"]; ?><br>
URL: <? print $row["url"]; ?><br>
HITS: <? print $row["hits"]; ?><br>
<hr>
<?
}
mysql_close;
?>
</font>

</html>
Avatar billede bb_maze Nybegynder
24. september 2004 - 18:56 #2
Det ser ud til at virke, men jeg kan af en eller anden underlig grund ikke rette værdierne i mySQL'en som jeg plejer at kunne... Kunne det tænkes at du har overset noget?

Hygge
Avatar billede hmortensen Nybegynder
24. september 2004 - 21:54 #3
Der er ikke nogen update del, kun den der lægger 1 til antal hits
Avatar billede bb_maze Nybegynder
25. september 2004 - 17:40 #4
Det er også når jeg retter det i phpbbmyadmin det ikke virker. Når jeg ændre derinde sker der ingen ting.

Hygge
Avatar billede hmortensen Nybegynder
25. september 2004 - 18:05 #5
Så er det jo heller ik scriptet der ik virker
Avatar billede bb_maze Nybegynder
25. september 2004 - 19:36 #6
Ups, mig der havde dummet mig :D *G*

Mange tak for hjælpen! Smid et svar og du skal få point ;)

Hygge
Avatar billede hmortensen Nybegynder
25. september 2004 - 23:04 #7
Det var så lidt
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester