javascript
  • php
  • jquery
  • html
  • mysql
  • 2013-12-10 46 views 0 likes 
    0

    我有查询SQL数据库并在表中显示所有用户的代码,所有工作正常,从那里您可以单击任何用户并显示另一个表包含他们所有的信息,这也很好。如何将php变量放入HTML表单

    我遇到的问题是在显示所选用户信息表的页面上。在该页面上,我有一个按钮,允许编辑用户信息并更新数据库。

    下面是按钮的代码:

    print "<form method='post' action='adminedituser.php'> 
    <input type='hidden' name='id' value='$id' /> 
    <input type='submit' value='Click here to edit this user' /> 
    </form>"; 
    

    当我点击这个需要我与需要显示当前用户名,并允许用户将在一个新的值的输入栏的网页并提交。

    我想打电话给HTML表单我有内部的PHP变量:

    <?php 
    
    $id = filter_input(INPUT_POST, "id"); 
    //Make db connection 
    $conn=mysql_connect("localhost","root","")or die(mysql_error()); 
    
    //Step 2: select your db to use 
    mysql_select_db("final",$conn); 
    
    //Step 3: Write the sql that we want to run against the database 
    $result = mysql_query("select id, firstname, lastname, email, phone, username, password, favchar, bio from user where id=$id"); 
    
    $username = $result["username"]; 
    
    ?> 
    
    
    <form method='post' id='myForm' name='input' action='adduser.php'> 
    Username: <input type='text' value="<?php echo ($username); ?>" id='uName' name='uName'> 
    <input type='submit'> 
    </form> 
    

    的问题是,变量$用户名不被显示为文本框的值。

    我在做什么错?

    <input type='hidden' name='id' value='<?= $id ?>' /> 
    

    你忘值 “打印” 在$ ID:

    +0

    以下内容添加到您的mysql_query结束:或死亡(mysql_error())。告诉我们返回什么,如果有的话。 – smcjones

    回答

    0

    形式代码shuld改变。

    和adminedituser.php的代码:

    $id = filter_input(INPUT_POST, "id"); 
    

    路线从您的表单POST请求的 “ID” 字段。

    +0

    没有骰子,我无法获得任何值在myForm,窗体中显示。 – user3038431

    +0

    它不会从前一页拉动隐藏值$ id – user3038431

    3

    首先,如果我不说别人是:使用mysqli而不是mysql。如果你愿意,你仍然可以使用程序风格(虽然我可以说第一手它很容易学习对象风格),但你只需要快速刷新一下mysqliMysql已被弃用,因此使用它是无用的。你必须最终学习它,所以当你构建一个新的程序时,它可能是最简单的。

    转移到你在做什么错,是你实际上没有取任何东西。 MySQL会给你一个对象,然后你需要对行进行排序。

    所以,你需要做的是拉mysql_fetch_array

    你可以这样做是这样的:

    while($row = mysql_fetch_array($result)) { 
        $username = $row["username"]; 
    } 
    
    +0

    为了使用“username”作为索引,你是否需要象'mysqli_fetch_array($ result,MYSQLI_ASSOC)''中那样获取关联数组? – mseifert

    +1

    从技术上讲,没有。 'mysql_fetch_array'同时返回数字键和关联键。但是,为了干净的代码,我更喜欢'mysql_fetch_assoc',它只返回关联数组 – Machavity

    +0

    我也认为mysql_fetch_row非常方便,当你只拉一个结果。或者,如果你喜欢对象风格,可以使用mysql_fetch_object。可能性是无止境! – smcjones

    相关问题