PHPを使用してmysqlにデータを挿入する方法

AK_56

$_SERVER["PHP_SELF"]フォームメソッドのアクションでを使用した場所(w3schools.comなど)から登録しました。

$_SERVER["PHP_SELF"] これは検証部分に役立ちますが、データベースにデータを挿入することはできません。

携帯番号のコードも書いています。数字だけを挿入する必要がありますが、それも機能しません。助けてください。

 <html>
 <head>
 <title>Meeting Room Application</title>
 </head>
 <body>
 <?php
// define variables and set to empty values
$nameErr     = $emailErr     = $genderErr    = $mobErr       = $uidErr       = $pwdErr       = $roleErr  = "";
$txtname     = $gender       = $txtmob       = $txteid       = $txtuid       = $txtpwd       = $role         = "";
if($_SERVER["REQUEST_METHOD"] == "POST") {
    if(empty($_POST["txtname"])) {
        $nameErr = "Name is required";
    } else {
        $txtname = test_input($_POST["txtname"]);
        // check if name only contains letters and whitespace
        if(!preg_match("/^[a-zA-Z ]*$/", $txtname)) {
            $nameErr = "Only letters and white space allowed";
        }
    }
    if(empty($_POST["txteid"])) {
        $emailErr = "Email is required";
    } else {
        $txteid = test_input($_POST["txteid"]);
        // check if e-mail address is well-formed
        if(!filter_var($txteid, FILTER_VALIDATE_EMAIL)) {
            $emailErr = "Invalid email format";
        }
    }
    if(empty($_POST["gender"])) {
        $genderErr = "Gender is required";
    } else {
        $gender = test_input($_POST["gender"]);
    }
    if(empty($_POST["txtmob"])) {
        $mobErr = "Mobile is required";
    } else {
        $txtmob = test_input($_POST["txtmob"]);
        //check only numbers are given
        if(preg_match("/^d{10}$/", $txtmob)) {
            $mobErr = "Only numbers are allowed";
        }
    }
    if(empty($_POST["txtuid"])) {
        $uidErr = "User Id is required";
    } else {
        $txtuid = test_input($_POST["txtuid"]);
    }
    if(empty($_POST["txtpwd"])) {
        $pwdErr = "Password is required";
    } else {
        $txtpwd = test_input($_POST["txtpwd"]);
    }
    if(empty($_POST["role"])) {
        $roleErr = "Role is required";
    } else {
        $role = test_input($_POST["role"]);
    }
}

function test_input($data) {
    $data    = trim($data);
    $data    = stripslashes($data);
    $data    = htmlspecialchars($data);
    return $data;
}
?>
<table align="center" cellpadding="5" cellspacing="5">
    <tr>
        <th colspan="2"><img src="Hitech Logo1.png" alt="HiTech"></th>
    </tr>
    <tr>
        <th colspan="2"><h1>User Registration</h1></th>
</tr>
<tr>
    <td colspan="2" align="left"><font color="red">All fields are mandatory</font></td>
</tr>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
    <tr>
        <td>Full Name &nbsp; : </td>
        <td><input type="text" name="txtname" value="<?php echo $txtname ?>">&nbsp;&nbsp;&nbsp;<font color="red"><?php echo $nameErr; ?></td>
    </tr>
    <tr>
        <td>Gender &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : </td>
        <td><input type="radio" name="gender" <?php if(isset($gender) && $gender == "Male") echo "checked"; ?>  value="Male">Male
            <input type="radio" name="gender" <?php if(isset($gender) && $gender == "Female") echo "checked"; ?>  value="Female">Female
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="red"><?php echo $genderErr; ?>
        </td>
    </tr>
    <tr>
        <td>Mobile No. : (+91)</td>
        <td><input type="text" name="txtmob" maxlength="10" value="<?php echo $txtmob ?>">
            &nbsp;&nbsp;&nbsp;<font color="red"><?php echo $mobErr; ?>
        </td>
    </tr>
    <tr>
        <td>Email Id &nbsp;&nbsp;&nbsp;&nbsp; : </td>
        <td><input type="text" name="txteid" value="<?php echo $txteid ?>">
            &nbsp;&nbsp;&nbsp;<font color="red"><?php echo $emailErr; ?>
        </td>
    </tr>
    <tr>
        <td>User Id &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : </td>
        <td><input type="text" name="txtuid" value="<?php echo $txtuid ?>">
            &nbsp;&nbsp;&nbsp;<font color="red"><?php echo $uidErr; ?>
        </td>
    </tr>
    <tr>
        <td>Password &nbsp;&nbsp;&nbsp; : </td>
        <td><input type="password" name="txtpwd" value="<?php echo $txtpwd ?>">
            &nbsp;&nbsp;&nbsp;<font color="red"><?php echo $pwdErr; ?>
        </td>
    </tr>
    <tr>
        <td>Role &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : </td>
        <td><input type="radio" name="role" <?php if(isset($role) && $role == "User") echo "checked"; ?>  value="User">User
            <input type="radio" name="role" <?php if(isset($role) && $role == "Admin") echo "checked"; ?>  value="Admin">Admin
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="red"><?php echo $roleErr; ?>
        </td>
    </tr>
    <tr>
        <td></td>
        <td><input type="submit" value="Submit" name="btnsave">
        </td>
    </tr>
</form>
</tr>
</table>
<?php
$host        = "localhost"; // Host name 
$username    = "root"; // Mysql username 
$password    = ""; // Mysql password 
$db_name     = "testmra"; // Database name 
// Connect to server and select databse.
$conn        = mysqli_connect($host, $username, $password) or die("cannot connect");
mysqli_select_db($conn, $db_name);
$name        = mysqli_real_escape_string($conn, $_POST['txtname']);
$gender      = mysqli_real_escape_string($conn, $_POST['gender']);
$mobile      = mysqli_real_escape_string($conn, $_POST['txtmob']);
$email       = mysqli_real_escape_string($conn, $_POST['txteid']);
$username    = mysqli_real_escape_string($conn, $_POST['txtuid']);
$userpass    = mysqli_real_escape_string($conn, $_POST['txtpwd']);
$role        = mysqli_real_escape_string($conn, $_POST['role']);
$res         = mysqli_query($conn, "SELECT username FROM trialusers WHERE username='$username'");
$row         = mysqli_fetch_row($res);
if($row > 0) {
    echo "Username $username has already been taken";
} else {
    $sql = "INSERT INTO newuser (name,gender,contactno,emailid,username,userpass,role)VALUES('$name','$gender','$mobile','$email','$username','$userpass','$role')";
    if(mysqli_query($conn, $sql)) {
        header("location:registration.php");
    } else {
        die('Error: Cannot connect to db');
    }
}
?>
 </body>    
 </html>
レリオ・ファイエタ

コードの最後の部分を次のように変更します。

 <?php 
if(!empty($_POST)){
 $host="localhost"; // Host name 
 $username="root"; // Mysql username 
 $password=""; // Mysql password 
 $db_name="testmra"; // Database name 
 // Connect to server and select databse.
 $conn=mysqli_connect($host,$username,$password) or die("cannot connect"); 
 mysqli_select_db($conn,$db_name);
 $name = mysqli_real_escape_string($conn, $_POST['txtname']);
 $gender = mysqli_real_escape_string($conn, $_POST['gender']);
 $mobile = mysqli_real_escape_string($conn, $_POST['txtmob']);
 $email = mysqli_real_escape_string($conn, $_POST['txteid']);
 $username = mysqli_real_escape_string($conn, $_POST['txtuid']);
 $userpass = mysqli_real_escape_string($conn, $_POST['txtpwd']);
 $role= mysqli_real_escape_string($conn, $_POST['role']);
 $res=mysqli_query($conn,"SELECT username FROM trialusers WHERE username='$username'");
 $row=mysqli_fetch_row($res);
 if($row>0)
 {
 echo "Username $username has already been taken";
 }
 else
 {
 $sql="INSERT INTO newuser (name,gender,contactno,emailid,username,userpass,role)VALUES('$name','$gender','$mobile','$email','$username','$userpass','$role')";
 if (mysqli_query($conn,$sql))
 {
 header("location:registration.php");
 }
 else
 {
 die('Error: Cannot connect to db' );
 }
 }
}
 ?> 

これにより、フォームから実際にデータを投稿した場合にのみデータ挿入部分がトリガーされ、表示されたエラーが削除されます。ところで、使用しているコードは古く、非推奨のmysqlライブラリを使用しています。PDOへの更新を検討してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PHPを使用してMysqlにJsonデータを挿入する方法

分類Dev

Jquery ajaxとphpを使用してmysqlデータベースにデータを挿入する方法は?

分類Dev

jQueryを使用してHTML / PHPデータからMySQLデータベースに挿入する方法

分類Dev

PHPとMYSQLを使用して2つの異なるテーブルにデータを挿入する方法

分類Dev

Javaを使用してmySQLテーブルにデータを挿入する方法

分類Dev

PHPを使用してJavascriptからMySQLにデータを挿入する

分類Dev

PHPを使用してmySQLのデータベース行にHTMLフォーム配列を挿入する方法

分類Dev

php-curlを使用してデータを挿入する方法

分類Dev

PHPを使用してXMLコンテンツをmysqlデータベースに挿入する方法

分類Dev

phpとmysqlを使用してテーブルにデータを挿入する適切な方法は?

分類Dev

連想配列を使用してMySqlにデータを挿入する方法

分類Dev

連想配列を使用してMySqlにデータを挿入する方法

分類Dev

Codeigniterを使用してJSONデータをmysqlに挿入する

分類Dev

Pythonを使用してmysqlにデータを挿入する

分類Dev

Pythonを使用してmysqlデータベースに挿入する方法

分類Dev

Laravelを使用してMongoDBにデータを挿入する方法

分類Dev

PHPコードをループしてJSONデータをMySQLデータベースに挿入する方法

分類Dev

PHPを使用してMySQLにデータを選択して挿入します

分類Dev

PHPを使用してHTMLフォームからMySQLデータベースにデータを挿入する

分類Dev

PHPを使用してHTMLフォームデータをMySQLデータベースに挿入する

分類Dev

PHPはmysqlを使用してデータを挿入します

分類Dev

PDO(PHP)を使用してmySQLデータベースに数値データを挿入する

分類Dev

PHPを使用してmysqlデータベースにデータを挿入する際の問題

分類Dev

PHPを使用してmysqlデータベースにデータを挿入する

分類Dev

PHPを使用してMYSQLデータベースにデータを挿入する際の問題

分類Dev

PHPを使用してMySQLデータベースにデータを挿入する際の問題

分類Dev

phpを使用してcsvファイルデータをmysqlデータベースに挿入する

分類Dev

php codeigniterを使用してcsvデータを解析し、データベースに挿入する方法

分類Dev

変数を使用してPythonのデータをmysqlデータベースに挿入する方法は?

Related 関連記事

  1. 1

    PHPを使用してMysqlにJsonデータを挿入する方法

  2. 2

    Jquery ajaxとphpを使用してmysqlデータベースにデータを挿入する方法は?

  3. 3

    jQueryを使用してHTML / PHPデータからMySQLデータベースに挿入する方法

  4. 4

    PHPとMYSQLを使用して2つの異なるテーブルにデータを挿入する方法

  5. 5

    Javaを使用してmySQLテーブルにデータを挿入する方法

  6. 6

    PHPを使用してJavascriptからMySQLにデータを挿入する

  7. 7

    PHPを使用してmySQLのデータベース行にHTMLフォーム配列を挿入する方法

  8. 8

    php-curlを使用してデータを挿入する方法

  9. 9

    PHPを使用してXMLコンテンツをmysqlデータベースに挿入する方法

  10. 10

    phpとmysqlを使用してテーブルにデータを挿入する適切な方法は?

  11. 11

    連想配列を使用してMySqlにデータを挿入する方法

  12. 12

    連想配列を使用してMySqlにデータを挿入する方法

  13. 13

    Codeigniterを使用してJSONデータをmysqlに挿入する

  14. 14

    Pythonを使用してmysqlにデータを挿入する

  15. 15

    Pythonを使用してmysqlデータベースに挿入する方法

  16. 16

    Laravelを使用してMongoDBにデータを挿入する方法

  17. 17

    PHPコードをループしてJSONデータをMySQLデータベースに挿入する方法

  18. 18

    PHPを使用してMySQLにデータを選択して挿入します

  19. 19

    PHPを使用してHTMLフォームからMySQLデータベースにデータを挿入する

  20. 20

    PHPを使用してHTMLフォームデータをMySQLデータベースに挿入する

  21. 21

    PHPはmysqlを使用してデータを挿入します

  22. 22

    PDO(PHP)を使用してmySQLデータベースに数値データを挿入する

  23. 23

    PHPを使用してmysqlデータベースにデータを挿入する際の問題

  24. 24

    PHPを使用してmysqlデータベースにデータを挿入する

  25. 25

    PHPを使用してMYSQLデータベースにデータを挿入する際の問題

  26. 26

    PHPを使用してMySQLデータベースにデータを挿入する際の問題

  27. 27

    phpを使用してcsvファイルデータをmysqlデータベースに挿入する

  28. 28

    php codeigniterを使用してcsvデータを解析し、データベースに挿入する方法

  29. 29

    変数を使用してPythonのデータをmysqlデータベースに挿入する方法は?

ホットタグ

アーカイブ