2 action คะ ช่วยดูหน่อยคะ ว่าถูกรึป่าว ?? ขอบคุนคะ
Code (PHP)
$strSQL .="('".$domain."','".$title."','".$description."' ";
$strSQL .=",'".$keywords."','".$result."') ";
เป็นค่าว่างนั้นแหละคับ จะให้มันเอาข้อมูลมาจากไหนหะ ส่งมาแค่ชื่อ Domain ลอง
print_r($_POST);
ดูค่าในหน้า insert_sitedata.php
Date :
2011-07-21 15:55:03
By :
teez1232002
print_r($_POST);
ไ้ด้ผลแบบนี้คะ
Array ( [domain_search] => teenee.com )
แล้วไงต่อดีคะ รบกวนหน่อยค่า
Date :
2011-07-21 16:22:05
By :
Poster
ทำไมจากไฟล์ index.php ต้องผ่าน search1.php ล่ะครับ ส่งข้อมูลตรงไปให้ insert_sitedata.php เลยไม่ดีกว่าหรอครับ
หรือว่ามีเหตุผลอย่างอื่น
จากโค้ด $strSQL .="(domain,title,description,tags,whois) ";
domain กับ title และ description เนี่ยผมเข้าใจว่านำมาจากเว็บที่เราต้องการค้นหา
domain --> www.teenee.com
title --> TeeNee.com : ทันทุกเรื่องhit อัพเดททุกเรื่องhot
description --> ทันทุกเรื่องhit อัพเดททุกเรื่องhot เกาะกระแสดารา รวมเกมส์ ดูดวง ฟังเพลง หางาน ของฟรี
แต่ ที่เหลือ tags , whois คุณจะเอามาจากไหน เอามาทำไม
Date :
2011-07-21 17:00:46
By :
Unidentifier
Code (PHP)
$handle = fopen($_POST["domain_search"], "r");
if ($handle) {
while (!feof($handle)){
$line = fgets($handle);
if(strpos($line,"TITLE"))
echo strstr($line,"TITLE");
if(strpos($line,"name=\"Keywords\""))
echo strstr($line,"name=\"Keywords\"");
if(strpos($line,"name=\"Description\""))
echo strstr($line,"name=\"Description\"");
if(strpos($line,"<body"))
break;
}
fclose($handle);
}
เอาแนวคิดไปประยุกต์ดูน่ะครับ
ประวัติการแก้ไข 2011-07-21 17:25:55
Date :
2011-07-21 17:20:43
By :
Unidentifier
หน้านี้ index.php จะเปนหน้า formsearch
หน้านี้ search1.php จะเปนหน้าแสดงข้อมูลจากการ search จากหน้า index.php
หน้านี้ insert_sitedata.php จะเปนการบันทึกลงฐานข้อมูล
แล้วก้อ tags ก้อดึงมาจาก functionเดียวกับ title และ description
และ whois ก้อดึงมาจากเว็บ
แล้ว domain มาจากการใส่ key ในการ search คะ
รบกวนด้วยนะคะ '' ไงต่อดีคะ
Date :
2011-07-21 17:26:06
By :
Poster
ผลลัพธ์ที่ได้จากโค้ดข้างบน
TITLE>TeeNee.com : ทันทุกเรื่องhit อัพเดททุกเรื่องhot name="Keywords" content="ดารา, รูปดารา, เกมส์, ดูดวง, ฟังเพลง, ดาวโหลด, หางาน, เนื้อเพลง, เกม, กลอน, ภาพsexy, Chat, เว็บบอร์ด, หาเพื่อน, คลิป, บอล, เกาหลี, รถยนต์, ดูหนัง, ละครดารา, เซ็กซ์, ผู้หญิง" /> name="Description" content="ทันทุกเรื่องhit อัพเดททุกเรื่องhot เกาะกระแสดารา รวมเกมส์ ดูดวง ฟังเพลง หางาน ของฟรี">
Date :
2011-07-21 17:27:31
By :
Unidentifier
ขอบคุนคะ แต่ว่าส่วนของการดึงข้อมูลสามารถทำได้แล้ว เหลือแต่การบันทึกเก็บลงฐานของเราอ่ะคะ Plz!!!!
Date :
2011-07-21 17:31:00
By :
Poster
งั้นต้องเอาโค้ดที่ดึงข้อมูลมาให้ดูหน่อยครับ
Date :
2011-07-21 17:33:28
By :
Unidentifier
ขอบคุนมากนะค่า
search1.php
<?php
include 'fun_sitedata.php';
include 'fun_whois.php';
$domain = $_POST['domain_search']; //domain_search ที่รับมาจาก form
$result = getUrlData("http://".$domain);
if($result['title']=="") {
$title="No Data Available";
} else {
$title=$result['title'];
}
if($result['metaTags']['description']['value']=="") {
$description="No Data Available";
} else {
$description=$result['metaTags']['description']['value'];
}
if($result['metaTags']['keywords']['value']=="") {
$keywords="No Data Available";
} else {
$keywords=$result['metaTags']['keywords']['value'];
}
if($domain) {
if(!preg_match("/^([-a-z0-9]{2,100})\.([a-z\.]{2,8})$/i", $domain)) {
die("Specify only pure domain name, e.g. <i>chandan.in</i>!");
}
$result = LookupDomain($domain);
}
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title> Site Data</title>
</head>
<style type="text/css">
.curvetop {background:url(images/box-search_01.png) no-repeat; height:50px font-size:1px}
.curvebottom {background:url(images/box-search_04.png) no-repeat; height:50px font-size:1px}
ul {background:#fbfbfb; margin:0; padding:5px 0px 14px 5px; list-style:none; width:615px; -moz-border-radius: 0px 0px 8px 8px;}
.head {background:#4e8459; margin:0; padding:5px 0px 14px 5px; list-style:none; width:615px; -moz-border-radius: 8px 8px 0px 0px}
li {border-bottom:1px #4e8459 dashed}
.title {color:#ffffff;}
.no1{width:130px; height:90px; background:#fbfbfb; float:left; padding:8px 10px 14px 0px}
</style>
<div class="head"><span class="title"><? echo $domain ?></span> <a href="http://whois.pho.to/go.php?domain=<? echo $domain ?>" target="_blank"><span>Visit site</span></a></div>
<div class="no1"><center><img src="http://open.thumbshots.org/image.aspx?url=www.<? echo $domain ?>" border="0" /></center></div>
<div class="curvetop"></div>
<ul>
<li>Title: <? echo $title ?> </li>
<li>Description: <? echo $description ?> </li>
<li>Keywords: <? echo $keywords ?> </li>
</ul>
<div class="curvebottom"></div>
<div> </div>
<div class="head"><span class="title">Whois</div>
<div class="curvetop"></div>
<ul>
<?php echo "<pre>\n" . $result . "\n</pre>\n";?>
</ul>
<div class="curvebottom"></div>
<body onload="document.formsearch.submit();">
<form name="formsearch" action="insert_sitedata.php" method="post">
<input type="hidden" name="domain_search" value="<?=$_POST["domain_search"];?>">
</form>
</body>
Date :
2011-07-21 17:37:51
By :
Poster
เอา Code function ที่ใช้ด้วยไมคะ
Date :
2011-07-21 17:41:24
By :
Poster
<body onload="document.formsearch.submit();">
<form name="formsearch" action="insert_sitedata.php" method="post">
<input type="hidden" name="domain" value="<?=$domain;?>">
<input type="hidden" name="title" value="<?=$title;?>">
<input type="hidden" name="description" value="<?=$description;?>">
<input type="hidden" name="keywords" value="<?=$keywords;?>">
<input type="hidden" name="result" value="<?=$result;?>">
</form>
ขอดูไฟล์ fun_sitedata.php และ fun_whois.php หน่อยน่ะครับ
จะได้เป็นวิทยาทานสำหรับคนอื่นๆ
Date :
2011-07-21 17:49:38
By :
Unidentifier
ได้คะ ยินดีคะ
fun_whois.php
<?php
$domain = $_POST['domain_search'];
$whoisservers = array(
"aero"=>"whois.aero",
"arpa" =>"whois.iana.org",
"asia" =>"whois.nic.asia",
"at" =>"whois.nic.at",
"be" =>"whois.dns.be",
"biz" =>"whois.biz",
"br" =>"whois.registro.br",
"ca" =>"whois.cira.ca",
"cc" =>"whois.nic.cc",
"cn" =>"whois.cnnic.net.cn",
"com" =>"whois.verisign-grs.com",
"gov" =>"whois.nic.gov",
"in" =>"whois.inregistry.net",
"co.in" =>"whois.inregistry.net",
"net.in" =>"whois.inregistry.net",
"org.in" =>"whois.inregistry.net",
"ind.in" =>"whois.inregistry.net",
"firm.in" =>"whois.inregistry.net",
"info" =>"whois.afilias.info",
"int" =>"whois.iana.org",
"is" =>"whois.isnic.is",
"it" =>"whois.nic.it",
"jobs" =>"jobswhois.verisign-grs.com",
"me" =>"whois.meregistry.net",
"mil" =>"whois.nic.mil",
"mobi" =>"whois.dotmobiregistry.net",
"museum" =>"whois.museum",
"name" =>"whois.nic.name",
"net" =>"whois.verisign-grs.net",
"org" =>"whois.pir.org",
"pro" =>"whois.registrypro.pro",
"tc" =>"whois.adamsnames.tc",
"tel" =>"whois.nic.tel",
"travel" =>"whois.nic.travel",
"tv" => "whois.www.tv",
"co.uk" =>"whois.nic.uk",
"org.uk" =>"whois.nic.uk",
"us" =>"whois.nic.us",
"ws" =>"whois.website.ws");
function LookupDomain($domain){
global $whoisservers;
$whoisserver = "";
$dotpos=strpos($domain,".");
$domtld=substr($domain,$dotpos+1);
$whoisserver = $whoisservers[$domtld];
if(!$whoisserver) {
return "Error: No appropriate Whois server found for <b>$domain</b> domain!";
}
$result = QueryWhoisServer($whoisserver, $domain);
if(!$result) {
return "Error: No results retrieved $domain !";
}
preg_match("/Whois Server: (.*)/", $result, $matches);
$secondary = $matches[1];
if($secondary) {
$result = QueryWhoisServer($secondary, $domain);
}
return $result;
}
function QueryWhoisServer($whoisserver, $domain) {
$port = 43;
$timeout = 10;
$fp = @fsockopen($whoisserver, $port, $errno, $errstr, $timeout) or die("Socket Error " . $errno . " - " . $errstr);
fputs($fp, $domain . "\r\n");
$out = "";
while(!feof($fp)){
$out .= fgets($fp);
}
fclose($fp);
return $out;
}
?>
fun_sitedata
<?php
function getUrlData($url)
{
$result = false;
$contents = getUrlContents($url);
if (isset($contents) && is_string($contents))
{
$title = null;
$metaTags = null;
preg_match('/<title>([^>]*)<\/title>/si', $contents, $match );
if (isset($match) && is_array($match) && count($match) > 0)
{
$title = strip_tags($match[1]);
}
preg_match_all('/<[\s]*meta[\s]*name="?' . '([^>"]*)"?[\s]*' .'[lang="]*[^>"]*["]*'.'[\s]*content="?([^>"]*)"?[\s]*[\/]?[\s]*>/si', $contents, $match);
if (isset($match) && is_array($match) && count($match) == 3)
{
$originals = $match[0];
$names = $match[1];
$values = $match[2];
if (count($originals) == count($names) && count($names) == count($values))
{
$metaTags = array();
for ($i=0, $limiti=count($names); $i < $limiti; $i++)
{
$metaname=strtolower($names[$i]);
$metaname=str_replace("'",'',$metaname);
$metaname=str_replace("/",'',$metaname);
$metaTags[$metaname] = array (
'html' => htmlentities($originals[$i]),
'value' => $values[$i]
);
}
}
}
if(sizeof($metaTags)==0) {
preg_match_all('/<[\s]*meta[\s]*content="?' . '([^>"]*)"?[\s]*' .'[lang="]*[^>"]*["]*'.'[\s]*name="?([^>"]*)"?[\s]*[\/]?[\s]*>/si', $contents, $match);
if (isset($match) && is_array($match) && count($match) == 3)
{
$originals = $match[0];
$names = $match[2];
$values = $match[1];
if (count($originals) == count($names) && count($names) == count($values))
{
$metaTags = array();
for ($i=0, $limiti=count($names); $i < $limiti; $i++)
{
$metaname=strtolower($names[$i]);
$metaname=str_replace("'",'',$metaname);
$metaname=str_replace("/",'',$metaname);
$metaTags[$metaname] = array (
'html' => htmlentities($originals[$i]),
'value' => $values[$i]
);
}
}
}
}
$result = array (
'title' => $title,
'metaTags' => $metaTags
);
}
return $result;
}
function getUrlContents($url, $maximumRedirections = null, $currentRedirection = 0)
{
$result = false;
$contents = file_get_contents($url);
if (isset($contents) && is_string($contents))
{
preg_match_all('/<[\s]*meta[\s]*http-equiv="?REFRESH"?' . '[\s]*content="?[0-9]*;[\s]*URL[\s]*=[\s]*([^>"]*)"?' . '[\s]*[\/]?[\s]*>/si', $contents, $match);
if (isset($match) && is_array($match) && count($match) == 2 && count($match[1]) == 1)
{
if (!isset($maximumRedirections) || $currentRedirection < $maximumRedirections)
{
return getUrlContents($match[1][0], $maximumRedirections, ++$currentRedirection);
}
$result = false;
}
else
{
$result = $contents;
}
}
return $contents;
}
?>
Date :
2011-07-21 17:53:04
By :
Poster
ลองแล้วแต่ก้อเหมือนเดิมคะ ไม่ได้
เปนค่าว่างอยู่ดี
รบกวนด้วยนะค่า
Date :
2011-07-21 17:55:50
By :
Poster
include 'fun_sitedata.php';
include 'fun_whois.php';
$domain = $_POST['domain_search']; //domain_search ที่รับมาจาก form
$result = getUrlData("http://".$domain);
print_r($result);
เอาผลลัพธ์มาดูกันหน่อยครับ
Date :
2011-07-21 18:21:57
By :
Unidentifier
include 'fun_sitedata.php';
include 'fun_whois.php';
$domain = $_POST['domain_search']; //domain_search ที่รับมาจาก form
$result = getUrlData("http://".$domain);
[font=Verdana]print_r($result);[/font]
[font=Verdana]ผลลัพธ์คะ[/font]
Array ( [title] => TeeNee.com : ทันทุกเรื่องhit อัพเดททุกเรื่องhot [metaTags] => Array ( [keywords] => Array ( [html] => <meta name="Keywords" content="à¸�ารา, รูà¸�à¸�ารา, à¹�à¸�มสà¹�, à¸�ูà¸�วà¸�, à¸�ัà¸�à¹�à¸�ลà¸�, à¸�าวà¹�หลà¸�, หาà¸�าà¸�, à¹�à¸�ืà¹�à¸à¹�à¸�ลà¸�, à¹�à¸�ม, à¸�ลà¸à¸�, ภาà¸�sexy, Chat, à¹�วà¹�à¸�à¸�à¸à¸£à¹�à¸�, หาà¹�à¸�ืà¹�à¸à¸�, à¸�ลิà¸�, à¸�à¸à¸¥, à¹�à¸�าหลี, รà¸�ยà¸�à¸�à¹�, à¸�ูหà¸�ัà¸�, ละà¸�รà¸�ารา, à¹�à¸�à¹�à¸�à¸�à¹�, à¸�ูà¹�หà¸�ิà¸�" /> [value] => ดารา, รูปดารา, เกมส์, ดูดวง, ฟังเพลง, ดาวโหลด, หางาน, เนื้อเพลง, เกม, กลอน, ภาพsexy, Chat, เว็บบอร์ด, หาเพื่อน, คลิป, บอล, เกาหลี, รถยนต์, ดูหนัง, ละครดารา, เซ็กซ์, ผู้หญิง ) [description] => Array ( [html] => <meta name="Description" content="à¸�ัà¸�à¸�ุà¸�à¹�รืà¹�à¸à¸�hit à¸à¸±à¸�à¹�à¸�à¸�à¸�ุà¸�à¹�รืà¹�à¸à¸�hot à¹�à¸�าะà¸�ระà¹�สà¸�ารา รวมà¹�à¸�มสà¹� à¸�ูà¸�วà¸� à¸�ัà¸�à¹�à¸�ลà¸� หาà¸�าà¸� à¸�à¸à¸�à¸�รี"> [value] => ทันทุกเรื่องhit อัพเดททุกเรื่องhot เกาะกระแสดารา รวมเกมส์ ดูดวง ฟังเพลง หางาน ของฟรี ) [revisit-after] => Array ( [html] => <meta name="revisit-after" content="1 days"> [value] => 1 days ) ) )
รบกวนช่วยดูหน่อยนะคะ ขอบคุนมากคะ
Date :
2011-07-21 21:23:11
By :
Poster
Code (PHP)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Expires" content="Fri, Jan 01 1900 00:00:00 GMT">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body onload="document.formsearch.submit();">
<?php
$url = "http://www.teenee.com";
$result = getUrlData($url);
//print_r($result);
if($result['title']=="") {
$title="No Data Available";
} else {
$title=$result['title'];
}
if($result['metaTags']['description']['value']=="") {
$description="No Data Available";
} else {
$description=$result['metaTags']['description']['value'];
}
if($result['metaTags']['keywords']['value']=="") {
$keywords="No Data Available";
} else {
$keywords=$result['metaTags']['keywords']['value'];
}
?>
<?php
if($url) {
/* if(!preg_match("/^([-a-z0-9]{2,100})\.([a-z\.]{2,8})$/i", $url)) {
die("Specify only pure domain name, e.g. <i>chandan.in</i>!");
}*/
if(stristr($url,'http://'))
$url = str_ireplace("http://", "" ,$url);
if(stristr($url,'www.'))
$url = str_ireplace("www.", "" ,$url);
//echo $url,"<br />";
$result = LookupDomain($url);
//echo $result;
}
?>
<form name="formsearch" action="test-file-content2.php" method="post">
<input type="hidden" name="domain" value="<?=$url;?>">
<input type="hidden" name="title" value="<?=$title;?>">
<input type="hidden" name="description" value="<?=$description;?>">
<input type="hidden" name="keywords" value="<?=$keywords;?>">
<input type="hidden" name="result" value="<?=$result;?>">
</form>
</body>
Date :
2011-07-21 23:27:21
By :
Unidentifier
ยังไม่ได้เลยคะ ข้อมูลก้อว่างยุในฐานข้อมูล TT
ปริ้น print_r($_POST); ดู
insert_sitedata
<?php
include("./config/config.php");
$strSQL = "INSERT INTO sitedata ";
$strSQL .="(domain,title,description,tags,whois) ";
$strSQL .="VALUES ";
$strSQL .="('".$domain."','".$title."','".$description."' ";
$strSQL .=",'".$keywords."','".$result."') ";
$objQuery = mysql_query($strSQL);
print_r($_POST);
?>
ผลเปนแบบนี้คะ
Array ( [domain] => teenee.com [title] => TeeNee.com : ทันทุกเรื่องhit อัพเดททุกเรื่องhot [description] => ทันทุกเรื่องhit อัพเดททุกเรื่องhot เกาะกระแสดารา รวมเกมส์ ดูดวง ฟังเพลง หางาน ของฟรี [keywords] => ดารา, รูปดารา, เกมส์, ดูดวง, ฟังเพลง, ดาวโหลด, หางาน, เนื้อเพลง, เกม, กลอน, ภาพsexy, Chat, เว็บบอร์ด, หาเพื่อน, คลิป, บอล, เกาหลี, รถยนต์, ดูหนัง, ละครดารา, เซ็กซ์, ผู้หญิง [result] => Registration Service Provided By: THE ONE SOFT Contact: +666.3032593 Domain Name: TEENEE.COM Registrant: TeeneeMedia TeeneeMedia ([email protected] ) 31 Phayathai building Phayathai Road Phayathai Krung Thep Maha Nakhon Bangkok,10400 TH Tel. +66.0894045670 Creation Date: 10-Sep-1999 Expiration Date: 10-Sep-2018 Domain servers in listed order: dns4.teenee.com dns.teenee.com Administrative Contact: TeeneeMedia TeeneeMedia ([email protected] ) 31 Phayathai building Phayathai Road Phayathai Krung Thep Maha Nakhon Bangkok,10400 TH Tel. +66.0894045670 Technical Contact: TeeneeMedia TeeneeMedia ([email protected] ) 31 Phayathai building Phayathai Road Phayathai Krung Thep Maha Nakhon Bangkok,10400 TH Tel. +66.0894045670 Billing Contact: TeeneeMedia TeeneeMedia ([email protected] ) 31 Phayathai building Phayathai Road Phayathai Krung Thep Maha Nakhon Bangkok,10400 TH Tel. +66.0894045670 Status:ACTIVE The data in this whois database is provided to you for information purposes only, that is, to assist you in obtaining information about or related to a domain name registration record. We make this information available )
รบกวนด้วยนะค่า
Date :
2011-07-22 09:26:07
By :
Poster
$strSQL .="('".$domain."','".$title."','".$description."' ";
$strSQL .=",'".$keywords."','".$result."') ";
แก้เป็น
Code (PHP)
$strSQL .="('".$_POST[domain]."','".$_POST[title]."','".$_POST[description]."' ";
$strSQL .=",'".$_POST[keywords]."','".$_POSt[result]."') ";
Date :
2011-07-22 10:08:43
By :
teez1232002
ได้แล้วคะ ขอบคุนมากคะ แ่ต่ว่ามันจะเข้าฐานเฉพาะครั้งแรก ครั้งต่อๆ ก้อไม่เข้าแล้วคะ ทำไงต่อคะ รบกวนอีกนิดนะคะ ^_^
Date :
2011-07-22 10:30:10
By :
Poster
search1.php
Code (PHP)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Expires" content="Fri, Jan 01 1900 00:00:00 GMT">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body onload="document.formsearch.submit();">
<?php
include 'fun_sitedata.php';
include 'fun_whois.php';
$domain = $_POST['domain_search']; //domain_search ที่รับมาจาก form
$result = getUrlData("http://".$domain);
//print_r($result);
if($result['title']=="") {
$title="No Data Available";
} else {
$title=$result['title'];
}
if($result['metaTags']['description']['value']=="") {
$description="No Data Available";
} else {
$description=$result['metaTags']['description']['value'];
}
if($result['metaTags']['keywords']['value']=="") {
$keywords="No Data Available";
} else {
$keywords=$result['metaTags']['keywords']['value'];
}
?>
<?php
/*
.....
.....
......
*/
if($domain ) {
/*
if(!preg_match("/^([-a-z0-9]{2,100})\.([a-z\.]{2,8})$/i", $domain )) {
die("Specify only pure domain name, e.g. <i>chandan.in</i>!");
}
*/
if(stristr($domain ,'http://'))
$domain = str_ireplace("http://", "" ,$domain );
if(stristr($domain ,'www.'))
$domain = str_ireplace("www.", "" ,$domain );
$result = LookupDomain($domain );
//echo $result;
}
?>
<form name="formsearch" action="test-file-content2.php" method="post">
<input type="hidden" name="domain" value="<?=$url;?>">
<input type="hidden" name="title" value="<?=$title;?>">
<input type="hidden" name="description" value="<?=$description;?>">
<input type="hidden" name="keywords" value="<?=$keywords;?>">
<input type="hidden" name="result" value="<?=$result;?>">
</form>
</body>
Insert_sitedata.php Code (PHP)
<?php
$url = $_POST["domain"];
$title = htmlentites($_POST["title"],ENT_QUOTES);
$description = htmlentities($_POST["description"],ENT_QUOTES);
$keywords = htmlentities($_POST["keywords"],ENT_QUOTES);
$result = htmlentities($_POST["result"] , ENT_QUOTES);
include("./config/config.php");
$strSQL = "INSERT INTO sitedata ";
$strSQL .="(domain,title,description,tags,whois) ";
$strSQL .="VALUES ";
$strSQL .="('$url','$title','$description' ,'$keywords','$result') ";
$objQuery = mysql_query($strSQL);
?>
Date :
2011-07-22 10:37:27
By :
Unidentifier
หมายความว่า ครั้งต่อไปที่ป้อน url ที่ index.php สคริปต์ไม่ทำงานหรอครับ
ถ้าเป็นอย่างนั้นจริง คงต้องนั่งไล่ program flow ว่าทำงานถูกต้องมั๊ย
Date :
2011-07-22 10:41:43
By :
Unidentifier
ใช่แล้วคะ ครั้งต่อไปป้อน url ที่ index.php จะไม่เก็บเข้าฐานอีก TT
Date :
2011-07-22 10:48:20
By :
Poster
ผมว่าลองเช็คดูที่วิธีการป้อน url น่ะครับ เช่น
www.pantip.com
http://www.pantip.com
pantip.com
ผมว่าอันสุดท้ายเนี่ยไม่ทำงานครับ เพราะในโค้ดมีกำหนดเงือ่นไขกำกับอยู่ครับ
Date :
2011-07-22 11:01:10
By :
Unidentifier
ช่วยดูหน่อยคะ เกี่ยวกับการวางโค้ดไมคะ
search1.php
<?php
include 'fun_sitedata.php';
include 'fun_whois.php';
$domain = $_POST['domain_search']; //domain_search ที่รับมาจาก form
$result = getUrlData("http://".$domain);
//print_r($result);
if($result['title']=="") {
$title="No Data Available";
} else {
$title=$result['title'];
}
if($result['metaTags']['description']['value']=="") {
$description="No Data Available";
} else {
$description=$result['metaTags']['description']['value'];
}
if($result['metaTags']['keywords']['value']=="") {
$keywords="No Data Available";
} else {
$keywords=$result['metaTags']['keywords']['value'];
}
if($domain ) {
/*
if(!preg_match("/^([-a-z0-9]{2,100})\.([a-z\.]{2,8})$/i", $domain )) {
die("Specify only pure domain name, e.g. <i>chandan.in</i>!");
}
*/
if(stristr($domain ,'http://'))
$domain = str_ireplace("http://", "" ,$domain );
if(stristr($domain ,'www.'))
$domain = str_ireplace("www.", "" ,$domain );
$result = LookupDomain($domain );
//echo $result;
}
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title> Site Data</title>
<style type="text/css">
.curvetop {background:url(images/box-search_01.png) no-repeat; height:50px font-size:1px}
.curvebottom {background:url(images/box-search_04.png) no-repeat; height:50px font-size:1px}
ul {background:#fbfbfb; margin:0; padding:5px 0px 14px 5px; list-style:none; width:615px; -moz-border-radius: 0px 0px 8px 8px;}
.head {background:#4e8459; margin:0; padding:5px 0px 14px 5px; list-style:none; width:615px; -moz-border-radius: 8px 8px 0px 0px}
li {border-bottom:1px #4e8459 dashed}
.title {color:#ffffff;}
.no1{width:130px; height:90px; background:#fbfbfb; float:left; padding:8px 10px 14px 0px}
</style>
</head>
<body onLoad="document.formsearch.submit();">
<form name="formsearch" action="insert_sitedata.php" method="post">
<input type="hidden" name="domain" value="<?=$domain;?>">
<input type="hidden" name="title" value="<?=$title;?>">
<input type="hidden" name="description" value="<?=$description;?>">
<input type="hidden" name="keywords" value="<?=$keywords;?>">
<input type="hidden" name="result" value="<?=$result;?>">
</form>
<div class="head"><span class="title"><? echo $domain ?></span> <a href="http://whois.pho.to/go.php?domain=<? echo $domain ?>" target="_blank"><span>Visit site</span></a></div>
<div class="no1"><center><img src="http://open.thumbshots.org/image.aspx?url=www.<? echo $domain ?>" border="0" /></center></div>
<div class="curvetop"></div>
<ul>
<li>Title: <? echo $title ?> </li>
<li>Description: <? echo $description ?> </li>
<li>Keywords: <? echo $keywords ?> </li>
</ul>
<div class="curvebottom"></div>
<div> </div>
<div class="head"><span class="title">Whois</div>
<div class="curvetop"></div>
<ul>
<?php echo "<pre>\n" . $result . "\n</pre>\n";?>
</ul>
<div class="curvebottom"></div>
insert_sitedata.php
<?php
include("./config/config.php");
$strSQL = "INSERT INTO sitedata ";
$strSQL .="(domain,title,description,tags,whois) ";
$strSQL .="VALUES ";
$strSQL .="('".$_POST[domain]."','".$_POST[title]."','".$_POST[description]."' ";
$strSQL .=",'".$_POST[keywords]."','".$_POST[result]."') ";
$objQuery = mysql_query($strSQL);
?>
Date :
2011-07-22 11:03:09
By :
Poster
แล้วเราจะทำไงดีคะ
Date :
2011-07-22 11:05:29
By :
Poster
ผมสังเกตว่ามันคงเป็นข้อจำกัดของฟังก์ชั่น whois น่ะครับ
ให้ลองเอาโค้ดของผม ไปแทรกดูน่ะครับ
if($domain ) {
/*
if(!preg_match("/^([-a-z0-9]{2,100})\.([a-z\.]{2,8})$/i", $domain )) {
die("Specify only pure domain name, e.g. <i>chandan.in</i>!");
}
*/
if(stristr($domain ,'http://'))
$domain = str_ireplace("http://", "" ,$domain );
if(stristr($domain ,'www.'))
$domain = str_ireplace("www.", "" ,$domain );
$result = LookupDomain($domain );
}
?>
<form name="formsearch" action="test-file-content2.php" method="post">
<input type="hidden" name="domain" value="<?=$url;?>">
<input type="hidden" name="title" value="<?=$title;?>">
<input type="hidden" name="description" value="<?=$description;?>">
<input type="hidden" name="keywords" value="<?=$keywords;?>">
<input type="hidden" name="result" value="<?=$result;?>">
</form>
</body>
ประวัติการแก้ไข 2011-07-22 11:08:10
Date :
2011-07-22 11:07:23
By :
Unidentifier
ลองเพิ่มคำสั่งเพื่อดู error สักหน่อยน่ะครับ
$strSQL = "INSERT INTO sitedata ";
$strSQL .="(domain,title,description,tags,whois) ";
$strSQL .="VALUES ";
$strSQL .="('$url','$title','$description' ,'$keywords','$result') ";
$objQuery = mysql_query($strSQL) or die(mysql_error());
Date :
2011-07-22 11:22:42
By :
Unidentifier
Duplicate entry 'teenee.com' for key 'PRIMARY' คะ
Date :
2011-07-22 11:27:07
By :
Poster
จริงๆแล้วข้อมูลที่อยู่ใน $_POST["description"] หรือ $_POST["keywords"] อาจมีอักขระพิเศษ ทำให้การแทรกข้อมูลไม่สมบูรณ์ครับ
เช่นพวก ' " เราเลยอาศัยฟังก์ชั่น htmlentities() เข้ามาช่วยแปลงสัญลักษณ์เหล่านี้ ให้อยู่ในรูปแบบของ hmtl encoding คับ
$url = $_POST["domain"];
$title = htmlentites($_POST["title"],ENT_QUOTES);
$description = htmlentities($_POST["description"],ENT_QUOTES);
$keywords = htmlentities($_POST["keywords"],ENT_QUOTES);
$result = htmlentities($_POST["result"] , ENT_QUOTES);
include("./config/config.php");
$strSQL = "INSERT INTO sitedata ";
$strSQL .="(domain,title,description,tags,whois) ";
$strSQL .="VALUES ";
$strSQL .="('$url','$title','$description' ,'$keywords','$result') ";
$objQuery = mysql_query($strSQL);
Date :
2011-07-22 11:28:27
By :
Unidentifier
แสดงว่ากำหนด field 'domain' ในฐานข้อมูลให้เป็น primary key
แบบนี้ต้องถามเจตนาก่อนครับ ว่า
1.ตั้งใจให้ url หรือ domain ในฐานข้อมูลไม่ซ้ำกันใช่มั๊ย --> มีเหตุผลอะไร
2.ซ้ำกันได้มั๊ย ถ้าคำตอบคือได้ล่ะก็ ใช้คำสั่งนี้ที่ phpmyadmin เลยครับ
alter table sitedata drop primary key, add index(domain)
ถ้าโปรแกรมต้องการให้ยืนยันคำสั่งก็ กดตกลงเลยครับ
Date :
2011-07-22 11:34:04
By :
Unidentifier
ตอบความคิดเห็นที่ : 31 เขียนโดย : Unidentifier เมื่อวันที่ 2011-07-22 11:34:04
รายละเอียดของการตอบ ::
แต่ถ้าต้องการข้อมูลที่ไม่ซ้ำกันจริงๆ ก็มีอีกวิธีนึงครับ คือเขียนคำสั่งแบบนี้ครับ
$strSQL = "INSERT INTO sitedata "
$strSQL .="(domain,title,description,tags,whois) ";
$strSQL .="VALUES ";
$strSQL .="('$url','$title','$description' ,'$keywords','$result') ";
$strSQL .="ON DUPLICATE KEY UPDATE title='$title' ,description='$description' , tags ='$keywords' ,whois='$result' " ;
Date :
2011-07-22 11:41:42
By :
Unidentifier
แต่ว่าถ้าเรากรอกผิดจะเปนแบบนี้คะ ผลจากการกรอก tee หรือ http://www.teenee.com
ใส่ www.teenee.com แสดง Duplicate entry 'teenee.com' for key 'PRIMARY' ไม่เข้าฐานข้อมูล
เหมือนจะได้แล้วนะคะ แต่เปนบางเวป
ถ้าอย่างเช่น
www.mindphp.com จะไม่เข้าฐาน จะขึ้น
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's WHOIS database is provided by OnlineNIC for information purposes, and to ' at line 1
Date :
2011-07-22 11:44:29
By :
Poster
ต้องการ url หรือ domain ในฐานข้อมูลไม่ซ้ำคะ
เด่วลองดูก่อนนคะ
Date :
2011-07-22 11:46:42
By :
Poster
ที่ต้องการไม่ให้ url หรือ domain ใน DB เพราะว่าจะให้สามารถแก้ไขได้อีกคะ จะดึงจากฐานข้อมูลขึ้นมาอีกรอบคะ
Date :
2011-07-22 11:49:12
By :
Poster
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's WHOIS database is provided by OnlineNIC for information purposes, and to ' at line 1
มีปัญหาที่ ' ล่ะครับ
เพราะฉะนั้นต้องใช้ htmlentities() ครับ หรือ htmlspecialchars() ก็ได้
Date :
2011-07-22 11:50:56
By :
Unidentifier
ได้ละคะ ทำตามที่พี่แนะนำ ยังไงต้องขอบคุนมากเลยนะคะ
^_^
ได้ความรุเพิ่มเกี่ยวกับคำสั่งใหม่ๆด้วยคะ
Date :
2011-07-22 12:01:44
By :
Poster
ยินดีครับ
ขอแค่ให้ตั้งใจเขียนและศึกษาด้วยตัวเอง
ทุกๆคนที่นี่ก็พร้อมเสมอที่จะช่วยเหลือครับ
ประวัติการแก้ไข 2011-07-22 12:12:56
Date :
2011-07-22 12:05:03
By :
Unidentifier
ู^_^
ประวัติการแก้ไข 2011-07-22 13:52:07
Date :
2011-07-22 13:44:51
By :
Poster
Load balance : Server 03