| Autor | Zpráva | ||
|---|---|---|---|
| gustavek22 Profil |
#1 · Zasláno: 27. 7. 2013, 14:15:25
Zdravim. Nastavuji si tedka takový malý domácí server a nemohu přijít na to, proč mi nechodí jedna věc. Jedná se o php script, který si z klasického formuláře ukládá do mysql databáze text, který je oddelěný mezerníkem, tedy explode("\n",.... . Přesunuji script z webhostingu od Wedosu na ten můj server a nějak mi nefunguje to, že to vždy ukládá pouze první řádek a ty ostatní mi to neukládá. Zkrátka, když tam zadám do toho formuláře 20. řádkový text, tak mi přibyde pouze 1 záznam v databázi namísto 20 záznamů u Wedosu. Mám chybu v php.ini nebo v my.ini? Díky za radu.
|
||
| Kajman Profil |
#2 · Zasláno: 27. 7. 2013, 15:12:32
Ukažte výsledný sql dotaz, který je poslán do databáze a chová se jinak, než čekáte.
|
||
| gustavek22 Profil |
#3 · Zasláno: 28. 7. 2013, 00:11:17
Kajman:
<?
set_time_limit(0);
ob_start();
error_reporting(0);
$ext = array(
'.com' => array('whois.crsnic.net','No match for'),
'.net' => array('whois.arin.net','No match for'),
'.cz' => array('whois.nic.cz','No match for'),
'.eu' => array('whois.crsnic.net','No match for'),
'.biz' => array('whois.biz','Not found'),
'.mobi' => array('whois.dotmobiregistry.net', 'NOT FOUND'),
'.tv' => array('whois.nic.tv', 'No match for'),
'.in' => array('whois.inregistry.net', 'NOT FOUND'),
'.info' => array('whois.afilias.net','NOT FOUND'),
'.co.uk' => array('whois.nic.uk','No match'),
'.co.ug' => array('wawa.eahd.or.ug','No entries found'),
'.or.ug' => array('wawa.eahd.or.ug','No entries found'),
'.nl' => array('whois.domain-registry.nl','not a registered domain'),
'.ro' => array('whois.rotld.ro','No entries found for the selected'),
'.com.au' => array('whois.ausregistry.net.au','No data Found'),
'.ca' => array('whois.cira.ca', 'AVAIL'),
'.org.uk' => array('whois.nic.uk','No match'),
'.name' => array('whois.nic.name','No match'),
'.us' => array('whois.nic.us','Not Found'),
'.ac.ug' => array('wawa.eahd.or.ug','No entries found'),
'.ne.ug' => array('wawa.eahd.or.ug','No entries found'),
'.sc.ug' => array('wawa.eahd.or.ug','No entries found'),
'.ws' => array('whois.website.ws','No Match'),
'.be' => array('whois.ripe.net','No entries'),
'.com.cn' => array('whois.cnnic.cn','no matching record'),
'.net.cn' => array('whois.cnnic.cn','no matching record'),
'.org.cn' => array('whois.cnnic.cn','no matching record'),
'.no' => array('whois.norid.no','no matches'),
'.se' => array('whois.nic-se.se','No data found'),
'.nu' => array('whois.nic.nu','NO MATCH for'),
'.com.tw' => array('whois.twnic.net','No such Domain Name'),
'.net.tw' => array('whois.twnic.net','No such Domain Name'),
'.org.tw' => array('whois.twnic.net','No such Domain Name'),
'.cc' => array('whois.nic.cc','No match'),
'.nl' => array('whois.domain-registry.nl','is free'),
'.pl' => array('whois.dns.pl','No information about'),
'.pt' => array('whois.dns.pt','No match')
);
function return_status($domain, $status)
{
global $extension;
$domain = trim($domain);
$weight = ($status == 'available') ? 'bold' : 'normal';
$color = ($status == 'available') ? 'black' : 'black';
$bg = ($status == 'available') ? '#d1ffcd' : '#ffcdcd';
$decoration = ($status == 'invalid'
&& $extension == 'org') ? 'underline' : 'none';
if($status == 'invalid' && $extension == 'org')
{
$status .= ' (Domain <b>.org</b>
WHOIS prevents request)';
}
//Include alexa ranking class
require_once("alexa.php");
//Create a new object
$alexa = new Get_Alexa_Ranking();
//Get the rank for the domain paulund.co.uk
require("pr.php");
$url= $domain;
$pr = new PR();
$result_in_html = file_get_contents("http://www.google.com/search?q=link:{$url}");
if (preg_match('/Results .*? of about (.*?) from/sim', $result_in_html, $regs))
{
$indexed_pages = trim(strip_tags($regs[1])); //use strip_tags to remove bold tags
} elseif (preg_match('/About (.*?) results/sim', $result_in_html, $regs))
{
$indexed_pages = trim(strip_tags($regs[1])); //use strip_tags to remove bold tags
} else
{
}
?>
<?
require("config.php");
$pripoj=MySQL_Connect($SQL_Server, $SQL_Uzivatel, $SQL_Heslo) or Die(MySQL_Error());
MySQL_Select_Db($Databaze) or Die(MySQL_Error());
$alexarank = $alexa->get_rank($domain);
$pagerank = $pr->get_google_pagerank($url);
$result = mysql_query("SELECT * FROM domains");
$check = mysql_query("SELECT * FROM domains WHERE http='$domain'");
$checkname = mysql_num_rows($check);
if ($status == "invalid") {
}
else {
if ($checkname > 0)
{
$sql2="UPDATE domains SET status='$status', alexa='$alexarank', pagerank='$pagerank', extension='$extension' WHERE http='$domain'";
mysql_query($sql2) or die(mysql_error());
}
else {
$sql="INSERT INTO domains VALUES ('','$domain','$alexarank','$pagerank','$indexed_pages','$status','$extension')";
mysql_query($sql) or die(mysql_error());
}
}
}
?>
<?
if(strlen($_POST['domains']) > 0)
{
$domains = explode("\n", $_POST['domains']);
echo '<h2>Checking ' . count($domains) . ' domains</h2>';
echo (isset($_POST['save'])) ?
'Processing results, Please wait...<br /><br />' : null;
foreach($domains as $domain)
{
unset($buffer);
preg_match('@^(+)@i]http://www\.|http://|www\.)?([^/]+)@i', $domain, $matches);
$domain = $matches[2];
$tld = explode('.', $domain, 2);
$extension = strtolower(trim($tld[1]));
if(strlen($domain) > 0 &&
array_key_exists('.' . $extension, $ext))
{
$server = $ext['.' .$extension][0];
$sock = fsockopen($server, 43) or
die('Error Connecting To Server:' . $server);
fputs($sock, "$domain\r\n");
while( !feof($sock) )
{
$buffer .= fgets($sock,128);
}
fclose($sock);
if($extension == 'org') echo nl2br($buffer);
if(eregi($ext['.' . $extension][1], $buffer)) {
return_status($domain, 'available');
}
else
{
return_status($domain, 'taken');
}
}
else
{
if(strlen($domain) > 0) { return_status($domain, 'invalid'); }
}
ob_flush();
flush();
sleep(0.1);
}
}
else
{
echo 'Please enter one or more domains!';
}
?> |
||
| Alphard Profil |
#4 · Zasláno: 28. 7. 2013, 17:57:17
Kajman chtěl výsledný SQL dotaz, ne 165 řádků kódu :-)
Ale když už jste to sem dal, zkoušel jste dát na 116. řádek print_r($domains); a zkontrolovat, jestli se to správně rozdělí?
|
||
| peta Profil |
#5 · Zasláno: 29. 7. 2013, 12:58:06
Alphard:
2) ??? Na radku 113 vypisuje pocet polozek pole. Pokud tam ma vic nez 1... gustavek22: Pred radek 102, kdyz das echo $sql;, tak to, co to vypise na obrazovku navic, by zajimalo Kajmana. Kdyz tam mas 20 domen, tak by se melo vypsat 20 sql dotazu. V programu mas kod udelany tak, ze pokud je v dotazu chyba, vypis ji a ukonci program (noe servery ale maji obvykle vypis chyb potlaceny, takze mozna zustane jen bila obrazovka)
mysql_query($sql) or die(mysql_error()); |
||
|
Časová prodleva: 13 let
|
|||
0