• 10-01-2009, 21:45:45
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    merhaba arkadaşlar siteme link ufaltma sistemi kuruyorum fakat linki girip kelimeyi yazdıktan sonra yeni link al dediğimde şöyle bir hata alıyorum :

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/hgurcan/public_html/urll/index.php on line 18
    Yeni Link: html:// xxxxxxxx/xx/xx

    index.php dosyam :
    <?php
    	define('mysql_hostname', 'xxxxxxx');
    	define('mysql_username', 'xxxxxxx');
    	define('mysql_password', 'xxxxxxx');
    	define('mysql_database', 'xxxxxxx');
    	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 = '<strong>Yeni Link</strong>: <a href="' . $root . $id . '/">' . $root .  $id . '/</a> !';
    					} else {
    						$result = '<strong>Yeni Link</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="Link Ufaltma Servisi" />
    		<meta name="keywords" content="link,ufalt,kısalt,servis" />
    		<title>Link Ufaltma Servisi</title>
    		<link href="/css/main.css" rel="stylesheet" />
    		<link href="/img/favicon.png" rel="shortcut icon" />
    		<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 id="header">
    			<center><h1><a href="/" title="Link Ufalt">Link Ufaltma Servisi</a></h1></center>
    			
    		</div>
    		<form method="post" action="/" id="form">
    			<input type="hidden" name="action" value="generate_url" />
    			<h3><label for="url">Link</label></h3>
    			<input type="text" name="url" id="url" class="input" />
    			<h3 class="normal"><label for="tag">Kelime</label></h3>
    			<input type="text" name="tag" id="tag" class="input" />
    			<h3><label for="submit">Yeni Linki Al</label></h3>
    			<input type="submit" value="Yeni Linki Al" id="submit" class="button" />
    			<div id="result"><?php echo $result ? $result : ''; ?></div>
    		</form><br><br><br><br><br><br><br><br><br><br><br>
    		<center><div id="footer"><a href="http://www.arsivlerim.com" onclick="add_plugin(); return false;">Powered By Arsivlerim</a></div></center>
    	</body>
    </html>
    <?php
    	function relink ($buffer) {
    		global $root;
    		return preg_replace('#(href|src|action)="/#i', '\\1="' . $root, $buffer);
    	}
    ?>
    yardımlarınızı bekliyorum.
  • 11-01-2009, 12:17:31
    #2
    arkadaşlar hiç anlayan yokmu
  • 11-01-2009, 13:24:38
    #3
    Bu bölümde sorun var sanırım or yerine and kullan tekrar dene;
     $sql = "SELECT * FROM `urls` WHERE `url_tag` = '$tag' OR `url_id` = '$tag'";
  • 11-01-2009, 13:49:47
    #4
                        $n = mysql_fetch_assoc($q);
                        if ($n) {
                            $cancel = true;
                        }
    Burayı silip şu şekilde değiştirmeyi dene :

                        $n = mysql_num_rows($q);
                        if ($n > 0) {
                            $cancel = true;
                        }
  • 11-01-2009, 14:26:41
    #5
    Hatalar çok sanırım, arkadaşta bulmuş bir tane sen en iyisi baştan düzenle .
  • 11-01-2009, 14:41:34
    #6
    hemen inceliyorum teşekkürler
  • 11-01-2009, 14:47:28
    #7
    Gehinnom adlı üyeden alıntı: mesajı görüntüle
                        $n = mysql_fetch_assoc($q);
                        if ($n) {
                            $cancel = true;
                        }
    Burayı silip şu şekilde değiştirmeyi dene :
                        $n = mysql_num_rows($q);
                        if ($n > 0) {
                            $cancel = true;
                        }
    bu kez editlettiğiniz şekilde hata geliyor :|

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/xxxxxx/public_html/urll/index.php on line 18
    Yeni Link: xxxxxxxxx
  • 11-01-2009, 14:58:16
    #8
    Hocam benim belirttiğim bölümü de düzelttin mi herşeyi baştan kontrol et.
  • 11-01-2009, 15:49:18
    #9
    macchess adlı üyeden alıntı: mesajı görüntüle
    Hocam benim belirttiğim bölümü de düzelttin mi herşeyi baştan kontrol et.
    yine aynı hata geliyor teşekkürler yardımlarınız için