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: 11 let
|
0