从数据库的curl post中删除资源ID#

时间:2014-02-05 15:31:44

标签: php mysql curl

我想在这里尝试实现的是测试网站是否在线,然后将其发布到数据库中

以下代码与 curl 列不同,因为它输入了资源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       |

2 个答案:

答案 0 :(得分:1)

这个怎么样:

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

然后插入$curl_value而不是curl资源。

答案 1 :(得分:1)

如果1应该在线,2离线,那么

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

然后

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