【问题标题】:How do i pass HTML TextBox value to PHP variable in a .php page [duplicate]如何将 HTML TextBox 值传递给 .php 页面中的 PHP 变量 [重复]
【发布时间】:2015-05-04 18:25:17
【问题描述】:

我遇到的问题是我需要将用户名文本框的值发送到 php 变量,以便可以将其添加到 SQL 服务器。

我只是想出如何为价值转移编写代码。

我尝试了多种方法,我发现 $username = $_POST['username'];但这似乎不起作用。任何想法将不胜感激。

<!doctype html>

<html>
<head>
<meta charset="UTF-8">
<title>New Employee</title>
<style type="text/css">
body {
    background-image: url();
}
</style>
</head>

<body>

<header><img src="Border.jpg" width="100%" height="55"  alt=""/></header>
<p><img src="MLHC.png" width="620" height="205"  alt=""/>
</p>
<p>Create New Employee</p>
<p>Enter Employee Name  &nbsp;&nbsp;&nbsp;&nbsp; 
<input type="text"name="name" size="35">
</p>
<p>Select Company:  &nbsp;&nbsp;&nbsp;&nbsp;  
 <select name="company" id="Company">
    <option value="MLHC">MLHC</option>
    <option value="Placer Title Company">Placer Title Company</option>
    <option value="RMD">RMD</option>
    <option value="IRM">IRM</option>
    <option value="TTLAX">TTLAX</option>
    <option value="TTYL">TTYL</option>
    <option value="BRB">BRB</option>
    <option value="G2G">G2G</option>
    <option value="IKR">IKR</option>
  </select>
<br>
<br>
Select Supervisor:  &nbsp;&nbsp;&nbsp;&nbsp;  
   <select name="supervisor" id="Supervisor">
    <option value="John">John</option>
    <option value="Kyle">Kyle</option>
    <option value="Luke">Luke</option>
    <option value="Paul">Paul</option>
    <option value="Carrot man">Carrot man</option>
    <option value="Employee #833">Employee #833</option>
    <option value="HK-47">HK-47</option>
    <option value="Whoooooo">Whoooooo</option>
    <option value="Filler Name">Filler Name</option>
  </select>
<br>
<br>
Enter Username  &nbsp;&nbsp;&nbsp;&nbsp; <input type="text" id="username" name="username" size="35">
<br>
<br>
Enter Password &nbsp;&nbsp;&nbsp;&nbsp; <input type="text"name="password" size="35">
<br>
<br>
Enter Phone Number  &nbsp;&nbsp;&nbsp;&nbsp; <input type="text"name="phone" size="15">
<br>
<br>
<label>
  <input type="checkbox" name="admin" value="checkbox" id="admin">
  Administration Status</label>
<br>
<label>
  <input type="checkbox" name="exempt" value="checkbox" id="CheckboxGroup1_1">
  Exempt Status</label>
<br>
<p>&nbsp;</p>
<p>&nbsp;<input type="button" name="Submit" id="button" value="Submit" onClick="document.write('<?php test() ?>');">    &nbsp;&nbsp;&nbsp;
<input type="button" name="Cancel" id="button" value="Cancel" onClick="location.href='Admin.php'"></p>

<?php
function test(){





echo $username;

}

function submit(){
    $username = $_POST['username'];
    $password = $_POST['password'];
    $name = $_POST['name'];
    $company = $_POST['company'];
    $supervisor = $_POST['supervisor'];
    $phone = $_POST['phone'];
    $admin = $_POST['admin'];
    $exempt = $_POST['exempt'];

$servername = "localhost";
$username = "abc";
$password = "123";
$dbname = "abc";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

// sql to create table
$sql = "INSERT INTO users (username, password, name, company, supervisor, phone, admin, exempt)
VALUES($username, $password, $name, $company, $supervisor, $phone, $admin, $exempt)";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();

}

?>


</body>
</html>

【问题讨论】:

  • 欢迎来到 SO.SE。您应该将代码缩短到演示问题所需的最低限度。见How to Ask
  • 您似乎没有使用&lt;form&gt; 标签。您还编写了函数,但从不调用它们。所以代码永远不会被执行。
  • 如果您没有使用任何表单标签,并且您的 html 和 php 代码在同一页面中,请查看此内容是否对您有帮助:stackoverflow.com/questions/4446727/…
  • 我并不是说你不应该,而是在深入了解数据库之前先弄清楚 PHP 的一些基本语法和工作原理。

标签: javascript php html


【解决方案1】:

将你的 HTML 格式如下

<form action="#" method="post">
   <!-- your input field goes here -->
</form>

如果您想制作精美的 js 效果,那将解决您的问题,然后使用 JQUERY 提交表单

【讨论】:

    【解决方案2】:

    您必须将整个表单包含在这些标签中:

    <form method="POST">...</form>
    

    此外,您的提交按钮应如下所示:

    <input type="submit" value="..." ... />
    

    然后您可以通过以下方式访问传递的值:

    $_POST["..."]
    

    【讨论】:

    • 和我下面的回答一样
    • 是的,但是您的答案中没有提交按钮 ;-) 我认为我们的答案几乎是在同一时间。
    • 罚款最重要的帮助其他
    【解决方案3】:

    你不需要function 的东西。此外,开始研究 SQL 注入以及如何防范它。您的代码在野外很容易受到攻击。在您的 SQL 中,您还需要用单引号将字符串值括起来。

    <?php
    if(isset($_POST['Submit'])){
      print_r($_POST); // Will print all the values received.
    
      $username = $_POST['username'];
      $password = $_POST['password'];
      $name = $_POST['name'];
      $company = $_POST['company'];
      $supervisor = $_POST['supervisor'];
      $phone = $_POST['phone'];
      $admin = $_POST['admin'];
      $exempt = $_POST['exempt'];
    
      $servername = "localhost";
      $username = "abc";
      $password = "123";
      $dbname = "abc";
    
      // Create connection
      $conn = new mysqli($servername, $username, $password, $dbname);
      // Check connection
      if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
      } 
    
      // sql to create table
      $sql = "INSERT INTO users (username, password, name, company, supervisor, phone, admin, exempt)
    VALUES('$username', '$password', '$name', '$company', '$supervisor', '$phone', '$admin', '$exempt')";
    
      if ($conn->query($sql) === TRUE) {
        echo "New record created successfully";
      } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
      }
    
      $conn->close();
    }
    ?>
    

    【讨论】:

    • 谢谢,效果很好。
    • 我如何将 php 中的值从 sql 传递到 HTML 表格或文本框?
    • 收集查询结果集后,可以将其回显到value 属性中。示例:&lt;input type="text" value="&lt;?php echo $row['indexName']; ?&gt;"&gt; 如果我的回答解决了您的问题,请将其标记为答案。如果您还有其他问题,我建议您在提问之前搜索教程或其他 SO 主题。
    猜你喜欢
    • 2012-01-31
    • 2021-10-05
    • 1970-01-01
    • 2019-09-13
    • 1970-01-01
    • 2016-03-13
    • 1970-01-01
    • 1970-01-01
    • 2014-01-11
    相关资源
    最近更新 更多