-1

私のコードはこのように動作します。管理者がログインすると、名前を入力して送信できます。その名前に対応するすべてのデータベース値がユーザーに表示されます。今のところ、私が得るのは、管理者が値(名前)を入力して送信できることだけです。values を表示する代わりに、ループが存在し、別の関数に移動します。どこが間違っていますか?

if( $_SESSION["logging"]&& $_SESSION["logged"])
{
 print_secure_content();
}  
function chk()
 {    
if($res[ROLE]=='admin')
{
  echo "hey admin";

<form action="" method=post>
<input type = "text" name="submit" />Enter<br/>
<input type="submit" name="submit" value="submit"/>
<?php
//It never gets inside this loop and directly jumps to print() function
if(isset($_POST['submit']))
 {
   echo "helloooo";
   $sq="select `name` from users where NAME='$_POST[submit]'";
   $result1=mysql_query($sq,$con) or die(mysql_error());
  while($res1=mysql_fetch_assoc($result1));
  {
    echo "hiiiii";
    $user['name']=$res1['NAME'];
    echo $user['name'];
   } ?>
  <input type="text" name="fo" class="textfield" value="<?php echo $user['name']; ?>"/>
  </label><br />
 <?php
 return mysql_num_rows($user);
 }
  }
  // this gets executed
  function print_secure_content()
   {
    print("<b><h1>hi $_SESSION[user]</h1>");
print "<br><h2>only a logged in user can see this</h2><br><a href='logout.php'>Logout</a>
    }
4

2 に答える 2

3

このコードを試してください。

<?php
if($res[ROLE]=='admin')
{
    echo "hey admin";
    ?>
    <form action="" method=post>
    Name<input type = "text" name="name" /><br/>
    <input type="submit" name="submit" value="submit"/>
    <?php
    //It never gets inside this loop and directly jumps to print() function
    if(isset($_POST['submit']))
    {
        $sq="select `name` from `users` where `name`='".$_POST['name']."'";
        $result1=mysql_query($sq) or die(mysql_error());
        while($res=mysql_fetch_assoc($result1))
        {
            $user['name']=$res['name'];
            echo $user['name'];
        } 
    ?>
        <input type="text" name="fo" class="textfield" value="<?php echo $user['name']; ?>"/>
        </label><br />
    <?php
    }
}
// this gets executed
function print_secure_content()
{
    print("<b><h1>hi $_SESSION[user]</h1>");
    print "<br><h2>only a logged in user can see this</h2><br><a href='logout.php'>Logout</a>";
}
?>

あなたの質問からの変更は、から削除;while、別の質問を使用name<input type='text' />ます...。

于 2013-02-16T07:04:54.357 に答える
1

問題はフォームにあります。送信とテキストボックスの入力名は同じです:

<form action="" method=post>
<input type = "text" name="submit" />Enter<br/>
<input type="submit" name="submit" value="submit"/>

正しいものは次のとおりです。

<form action="" method=post>
    <input type = "text" name="submit" />Enter<br/>
    <input type="submit" name="submit_btn" value="submit"/>
</form>

また、from タグを閉じます。

于 2013-02-16T06:28:35.943 に答える