Autor Zpráva
gustavek22
Profil
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
Ukažte výsledný sql dotaz, který je poslán do databáze a chová se jinak, než čekáte.
gustavek22
Profil
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
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
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());

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: