webForumDet fria alternativet

Krångliga URl:s till enkla-script?

PHP

2 svar · 301 visningar · startad av salo18

Medlem sedan sep. 200396 inlägg
Frågan#1

Hej, jag undrar om någon vet nåt färdigt script där man tex kan lägga in

http://www.anre.mu/kohagen8.php?kalle=anders&pizza=tomat

Så att jag kan länka till http://www.minsida.com/link.php?id=1
och kommer till "arne sidan".
Det vore bra om det kunde räkna antalet gånger en länk blivit besökt också.

Jag har sett att det finns i ASP och ett sånt här script borde juvara rätt vanligt men jag hittade inget vettigt i Hotscripts.com iaf.

Tacksam för svar. :)

Medlem sedan aug. 2001153 inlägg
#2

Är det många sidor du skall länka till/ha statestik på?

Är det bara några få så kan du bara slänga in dem i en array/databas och sedan skicka vidare med location/meta-refresh antar jag. Bör inte vara så krånligt :)

Medlem sedan sep. 200310 inlägg
#3

humm. vad sägs om det här?

knåpade ihop en liten snabblösning.

mysql-tabellen först:

# phpMyAdmin MySQL-Dump
# version 2.5.1
# [url]http://www.phpmyadmin.net/[/url] (download page)
#
# Värd: localhost
# Skapad: 03 september 2003 kl 23:24
# Serverversion: 4.0.13
# PHP-version: 4.3.2
# --------------------------------------------------------

#
# Struktur för tabell `links_table`
#
# Skapades: 03 september 2003 kl 23:16
# Senaste uppdatering: 03 september 2003 kl 23:23
#

CREATE TABLE `links_table` (
  `link_id` int(20) NOT NULL auto_increment,
  `link_url` varchar(255) NOT NULL default 'http://',
  `link_redirects` int(20) default '0',
  PRIMARY KEY  (`link_id`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;

config.inc.php:

<?php

$myDefault = "http://www.stannek.nu"; // om inte link_id hittas så skickas man hit

$myHost = ""; // normalt localhost
$myUN   = ""; // mysql-användarnamn
$myPW   = ""; // mysql-lösenord
$myDB   = ""; // namn på databasen

?>

och links.php:

<?
/* links.php
** enkelt redirect-script
** * * *
** (c) stannek.nu
*/

include("config.inc.php");

$myConn = mysql_connect($myHost, $myUN, $myPW);
@mysql_select_db($myDB, $myConn);

function show_all() {
	$myQuery = "SELECT * FROM links_table";
	$myResult = mysql_query($myQuery);
	echo "<html>\n<head>\n<title>list all</title>\n</head>\n\n";
	echo "<body bgcolor="#C2C287" text="#000000" id="all" leftmargin="10" topmargin="10" marginwidth="10" marginheight="10" link="#660000" vlink="#660000" alink="#660000">\n<div align=\"center\">\n";
	echo "<table>\n<tr>\n";
	echo "<td><strong>id</strong></td>\n";
	echo "<td><strong>url</strong></td>\n";
	echo "<td><strong>redirects</strong></td>\n";
	echo "</tr>\n";
	while($myArray = mysql_fetch_array($myResult)) {
		$link = $PHP_SELF."?id=".$myArray["link_id"];
		echo "<tr>\n";
		echo "<td>".$myArray["link_id"]."</td>\n";
		echo "<td><a href=\"$link\">".$myArray["link_url"]."</a></td>\n";
		echo "<td align=\"right\">".$myArray["link_redirects"]."</td>\n";
		echo "</tr>\n";
	}
	echo "</table>\n</div>\n</body>\n\n</html>";
}
		

if (! isset($_GET["id"])) {
	show_all();
}
else {
	$link = $_GET["id"];

	$myQuery = "SELECT link_url, link_redirects FROM links_table WHERE link_id = '$link'";

	$myResult = mysql_query($myQuery);
	if($myArray = mysql_fetch_array($myResult)) {
		$myRedirects = $myArray["link_redirects"] + 1;
		$myURL = $myArray["link_url"];
		if(mysql_query("UPDATE links_table SET link_redirects = '$myRedirects' WHERE link_id = '$link'")) {
			header("Location: $myURL");
		}
		else { // om uppdateringen av tabellen misslyckades hamnar man här
			header("Location: $myURL"); // jag skickar dem vidare i vilket fall som helst
		}
	}
	else { // kunde inte hitta nån länk med det id:t
		show_all();
	}
}

mysql_close($myConn);
?>

mmmmm. mja. sådär ungefär.

anropas med "links.php?id=#"

edit: la till show_all() .. lite roligare så :)
edit2: äh vafan. jag la till ännu mer. hämta fullständiga på http://www.stannek.nu/downloader/downloader.php?id=00000000010

nu har jag lagt till ännu mer :) ni som har tankat ner det tidigare, tanka ner igen :)

253 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)