-2

次のコードで課題に直面しています。助けてください:

<?php
    session_start();
    $con = mysql_connect("localhost","root","");
    if (!$con){
       die('Could not connect: ' . mysql_error());
    }

    $db_exist = mysql_select_db("seta", $con);

    $myUName = $_POST["username"];
    $myPwd = $_POST["pwd"];
    $loFmUname = strtolower($myUName);

    if($db_exist){
        $sql = "SELECT * FROM Persons WHERE $loFmUname = 'strtolower($db_field['UserName'])' AND $myPwd = '$db_field['UserPwd']'";
        $result = mysql_query($sql);

        if($result){
            $_session['loged'] = '$loFmUname';
            header('location:index.html');
            die();
        }

        else{
            echo"Invalid username and/or password please";
            echo "<a href='login.php'>try again</a>";
        }

    }

    else{
        echo "Sorry Database Not Found";
    }


 mysql_close($con);
 ?>

エラーは15行目で発生しています。

strtolower()大文字と小文字を区別するユーザー名を無視するために使用されていることに注意してください。

4

2 に答える 2

0

変数内の変数を操作するときは、ドット区切り文字を使用する必要があります。

また、$_SESSION['loged'] = '$loFmUname';それである必要があります$_SESSION['logged'] = '$loFmUname';か?

<?php
session_start();
$con = mysql_connect("localhost","root","");
if (!$con){
   die('Could not connect: ' . mysql_error());
}

$db_exist = mysql_select_db("seta", $con);

$myUName = $_POST["username"];
$myPwd = $_POST["pwd"];
$loFmUname = strtolower($myUName);

if($db_exist){
    $result = mysql_query("SELECT * FROM Persons WHERE $loFmUname='" . strtolower($db_field['UserName']) . "' AND $myPwd='$db_field['UserPwd']' ");

    if($result){
        $_SESSION['loged'] = '$loFmUname';
        header('Location: index.html');
        die();
    } else {
        echo "Invalid username and/or password please";
        echo "<a href='login.php'>try again</a>";
    }
} else {
    echo "Sorry Database Not Found";
}

mysql_close($con);
?>
于 2012-05-15T07:56:40.033 に答える
0

行を変更する

$sql = "SELECT * FROM Persons WHERE $loFmUname = 'strtolower($db_field['UserName'])' AND $myPwd = '$db_field['UserPwd']'";

こいつで

$sql = "SELECT * FROM Persons WHERE $loFmUname = '".strtolower($db_field['UserName'])."' AND $myPwd = '".$db_field['UserPwd']."'";

これはあなたを助けるかもしれません。

ありがとう

于 2012-05-15T07:48:02.877 に答える