-1

私は自分自身にウェブサイトのコーディング方法を教えようとしています.フォームから情報を取得してmysqlデータベースに入れる必要があります。送信ボタンを押すと、index.php のスクリプトが実行されますが、データベースには何も配置されません。スクリプトは、Web ルートの外にある別のスクリプトにリンクしています。パスワードが含まれているため、公開する必要がありました (これを行うためのより良い方法はありますか?) これは私の問題の一部である可能性があります。以下は、関連するコードです。

 <?php
 $con=mysqli_connect("192.168.1.125","root","pass","site");
 // Check connection
 if (mysqli_connect_errno())
 {
 echo "Failed to connect to MySQL: " . mysqli_connect_error();
 }

 $sql="INSERT INTO users (Email)
 VALUES
 ('$_POST[email]')";

 if (!mysqli_query($con,$sql))
 {
 die('Error: ' . mysqli_error($con));
 }
 echo "1 record added";

 mysqli_close($con);
 ?> 

        <?php
    // define variables and set to empty values
    $emailErr = "";
    $email = $password = "";
    $file = basename(urldecode($_GET['insert.php']));
    $fileDir = '/var/insert.php';

    if ($_SERVER["REQUEST_METHOD"] == "POST")
    {
        if (empty($_POST["email"]))
            {$emailErr = "email is required";}
        else
            {$email = test_input($_POST["email"]);
            if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))
                {
                $emailErr = "Invalid email format";
                }
            }
    }

    function test_input($data)
    {
        $data = trim($data);
        $data = stripslashes($data);
        $data = htmlspecialchars($data);
        return $data;
    }

    if (file_exists($fileDir . $file))
    {
    // Note: You should probably do some more checks 
    // on the filetype, size, etc.
    $contents = file_get_contents($fileDir . $file);

    // Note: You should probably implement some kind 
    // of check on filetype
    header('Content-type: php');

    echo $contents;
    }
    ?>
        <form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
        <input id="email" placeholder=" email" type="email" name="email" maxlength="50">
        <input id="pass" placeholder=" Password" type="password" name="pass" maxlength="25">
        <button id="submit">SUBMIT</button></form>
    </div>
    </div><div id="date" align="center"><img src="192.168.1.125/date.png"></div>
    <?php
    echo "<h2>Your Input:</h2>";
    echo "$email";
    echo "$emailErr";
    ?>
4

2 に答える 2