2014-02-05 69 views
0

什麼,我想在這裏實現的是測試如果一個網站是在線,然後上傳到數據庫中從捲曲後刪除資源ID#數據庫

下面的代碼工作除了列捲曲爲它的輸入資源ID#2 如果該網站已關閉,資源ID#1,如果該網站是高達

<?php 

     if (isset($_POST['submit'])) { 
      $url = $_POST['url']; 
      $curl = curl_init($url); 
      curl_setopt($curl, CURLOPT_NOBODY, true); 
      curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); 
      curl_exec($curl); 
      $code = curl_getinfo($curl, CURLINFO_HTTP_CODE); 
      if ($code == 200) { 
       echo "<h3>Up!</h3>"; 
      } else { 
       echo "<h3> $curl!</h3>"; 
      } 
     } 

    if(isset($_POST['submit'])) 
    { 

    $dbhost = 'localhost'; 
    $dbuser = 'root'; 
    $dbpass = 'root'; 
    $conn = mysql_connect($dbhost, $dbuser, $dbpass); 
    if(! $conn) 
    { 
     die('Could not connect: ' . mysql_error()); 
    } 

    $sql = "INSERT INTO site". 
      "(url, curl) ". 
      "VALUES('$url','$curl')"; 
    mysql_select_db('up'); 
    $retval = mysql_query($sql, $conn); 
    if(! $retval) 
    { 
     die('Could not enter data: ' . mysql_error()); 
    } 
    //end 
    echo "fuck it"; 
    mysql_close($conn); 
    } 
    else 
    { 

    ?> 

    <form action="" method="post"> 
     Url: <input type="text" name="url" /><br /> 
     <input type="submit" name="submit" /> 
    </form> 
<?php 
     } 
     ?> 

有可能是與此代碼的一些安全問題,但我想在這裏學習是爲了得到這個工作,然後擔心安全,因爲這對我自己來說是新的

在我試圖存儲數據的格式是1,如果上線和2如果離線

我的表如下

id  | url  | curl  | 
+1

'$ curl'是一種資源。你想要存儲到數據庫?它不應該是'$ code'嗎? –

+0

一個值,即如果資源ID#2 =刪除「資源ID#」部分,所以我留下了一個2 –

+1

一般來說,很難預測什麼資源數量PHP將分配給資源(並可能會改變在將來),所以你不應該依賴它來確定你想要插入到數據庫中的東西。 –

回答

1

如果1假設2脫機聯機,然後

$result = $code == 200 ? 1 : 2; 

然後

$sql = "INSERT INTO site(url, curl) VALUES('$url','$result')"; 
1

如何:

if ($code == 200) { 
    $curl_value = 1; 
} else { 
    $curl_value = 0; 
} 

然後插入$curl_value而不是curl資源。