0

HTML を使用して 2 つのテキスト フィールドを作成しました。そのテキストをデータベースに処理したいと考えています。

PHP を使用して、そのデータを検証し、データベースにも送信したいと考えています。しかし、私の問題は、フィールドに入力したデータがデータベースに処理されていないことです。

私のコードは次のとおりです。

<form action="index.php" method="post">
<b>username:</b><input type="text" name="textbox1"/>
<b>password:</b><input type="password" name="textbox2"/>
<input type="submit" value="submit">
<?php
    if(isset($_POST['textbox1'])&&isset($_POST['textbox2']))
{
    $conn_error = 'couldnot connected';
    $mysql_user = 'root';
    $mysql_pass = '';
    $mysql_host = 'localhost';
    $mysql_db   = 'yep_recharge';
    $textbox1    = $_POST['textbox1'];
    $textbox2    = $_POST['textbox2'];
    if(empty($textbox1)&&empty($textbox2))
    {
      echo 'required field';
    }
    if(!empty($textbox1)&&!empty($textbox2))
    {
      $query = "SELECT `ID` FROM `yep_registration` WHERE `USERNAME`='$textbox1' AND `PASSWORD`='$textbox2'";//"SELECT `ID` from `yep_registration` WHERE `USER-NAME`='$textbox1' and `PASSWORD` = '$textbox2'";
      if($query_run = mysql_query($query))
      {
        $query_num_rows = mysql_num_rows($query_run);
        if($query_num_rows==0)
        {
          echo 'Invalid User Name And Password:';
        }
        else  if($query_num_rows==1)
        {
        echo 'ok';
        }
      }
    }
    }

    </form>
4

3 に答える 3

3

データベースに接続しましたか? 一部の mysql 関数でリソース ハンドルを使用できます。

$db = mysql_connect($mysql_host, $mysql_user, $mysql_pass);

あなたができるように:

$query = mysql_query('query',$db);

(実際には、クエリ呼び出しでリソース ハンドルを使用する必要はありません。PHP は、最後に開かれた db 接続を使用すると想定します)

于 2013-06-01T03:34:45.910 に答える
0

SQL インジェクションを避けるために、最初に文字列をエスケープする必要があります

$textbox1 = mysql_real_escape_string($textbox1);
$textbox2 = mysql_real_escape_string($textbox2);
$query = "SELECT ID FROM `yep_registration` WHERE USERNAME='$textbox1' AND PASSWORD='$textbox2'";

$query_run = mysql_query($query) or die(mysql_error())何が起こっているかを確認するために使用します

于 2013-06-01T03:31:06.913 に答える