Forum Moderators: coopster

Message Too Old, No Replies

php echo result returns header

php echo

         

vot3

12:16 am on Jun 2, 2009 (gmt 0)

10+ Year Member



Its a url shortener, when i shorten a url it gives the result with the header.

http://www.example.com/

How can i remove that?

The code:

<?php
define('mysql_hostname', '');
define('mysql_username', '');
define('mysql_password', '');
define('mysql_database', '');
ob_start('relink');
$root = "http://$_SERVER[HTTP_HOST]" . ereg_replace('/$', '', dirname($_SERVER['PHP_SELF'])) . '/';
$action = $_GET['action'] ? $_GET['action'] : ($_POST['action'] ? $_POST['action'] : '');
$connection = @mysql_connect(mysql_hostname, mysql_username, mysql_password) && @mysql_select_db(mysql_database) ¦¦ die('<code>' . mysql_error() . '</code>');
switch ($action) {
case 'generate_url':
$parsed = @parse_url($_POST['url']);
if ($parsed && strlen($_POST['url']) && ereg('\.', $_POST['url'])) {
if (eregi('^[a-z0-9-]+$', $_POST['tag'])) {
$tag = $_POST['tag'];
$sql = "SELECT * FROM `urls` WHERE `url_tag` = '$tag' OR `url_id` = '$tag'";
$q = mysql_query($sql);
$n = mysql_fetch_assoc($q);
if ($n) {
$cancel = true;
}
}
if (!$cancel) {
$url = ($parsed['scheme'] ? '' : 'http://') . (get_magic_quotes_gpc() ? mysql_real_escape_string(stripslashes($_POST['url'])) : mysql_real_escape_string($_POST['url']));
$sql = "INSERT INTO `urls` (`url_location`, `url_tag`) VALUES ('$url', '$_POST[tag]')";
$q = mysql_query($sql);
$id = mysql_insert_id();
if (!$tag) {
$result = 'Now here is your <strong>new URL</strong>: <a href="' . $root . $id . '/">' . $root . $id . '/</a> !';
} else {
$result = 'Now here is your <strong>new URL</strong>: <a href="' . $root . $tag . '/">' . $root . $tag . '/</a> !';
}
} else {
if (ereg('^[0-9]+$', $_POST['tag'])) {
$result = 'That tag is reserved for the system!';
} else {
$result = 'Tag unavailable!';
}
}
} else {
$result = 'Put in a <strong>real URL</strong> please!';
}
if ((bool) $_POST['javascript']) {
header('Content-Type: text/plain');
die($result);
}
break;
case 'redirect':
if (is_numeric($_GET['id']) ¦¦ eregi('^[a-z0-9-]+$', $_GET['tag'])) {
if (!$_GET['tag']) {
$sql = "SELECT * FROM `urls` WHERE `url_id` = $_GET[id]";
} else {
$sql = "SELECT * FROM `urls` WHERE `url_tag` = '$_GET[tag]'";
}
$q = mysql_query($sql);
$r = mysql_fetch_assoc($q);
header("Location: $r[url_location]");
exit;
} else {
header("Location: $root");
exit;
}
break;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="Shorten any URL - URL Shortener" />
<meta name="keywords" content="url shortener, make url small, shrink url, shorten url" />
<title>Shrinket - Turn a long URL into a short one!</title>
<link href="/css/main.css" rel="stylesheet" />
<script language="javascript" type="text/javascript">
root = '<?php echo ereg_replace('/$', '', $root); ?>';
</script>
<script language="javascript" type="text/javascript" src="/js/main.js"></script>
</head>
<body>
<div>
<h1><a href="index.php" title="Shorten your URL's">vot3.in / shortURL</a></h1>
<h2>Make your long URL's short!</h2>
</div>
<form method="post" action="/" id="form">
<input type="hidden" name="action" value="generate_url" />
<h3><label for="url">Put your long URL here</label></h3>
<input type="text" name="url" id="url" class="input" />
<h3><label for="url">A custom tag here</label></h3>
http://www.example.com/<input type="text" name="tag" id="tag" class="input" />
<h3><label for="submit">Then click this</label></h3>
<input type="submit" value="Shorten" id="submit" class="button" />
<div id="result"><?php echo $result ? $result : ''; { echo " selected";}?></div>
</form>
</body>
</html>
<?php
function relink ($buffer) {
global $root;
return preg_replace('#(href¦src¦action)="/#i', '\\1="' . $root, $buffer);
}
?>

[edited by: dreamcatcher at 5:56 am (utc) on June 2, 2009]
[edit reason] use example.com. Thanks. [/edit]

coopster

6:38 pm on Jun 6, 2009 (gmt 0)

WebmasterWorld Administrator 10+ Year Member



Welcome to WebmasterWorld, vot3.

What do you mean ... "with the header" ?