当前位置: 首页 > 知识库问答 >
问题:

使用下拉菜单PHP和MySQL将数据输入数据库

诸葛雨泽
2023-03-14

我已经创建了一个简单的注册系统,它可以按预期工作,尽管我想让用户在注册时从下拉菜单中选择一个值,例如男性或女性。然后,在数据库中可以区分该用户是男性还是女性,以及他们的用户名和密码。我使用一个简单的php下拉菜单从中选择数据。

我想知道如何在我的注册系统中实现这一点,允许用户在注册时从下拉菜单中选择性别,并将其与用户名和密码一起插入数据库。谢谢

HTML-

<form action="" method="POST">
    <select name="formGender">

<option value="M">Male</option>
<option value="F">Female</option>

</select>

PHP-

if(isset($_POST["submit"])){



if(!empty($_POST['user']) && !empty($_POST['pass'])) {
$user=$_POST['user'];
$pass=$_POST['pass'];

$con=mysql_connect('localhost','root','') or die(mysql_error());

mysql_select_db('user_registration') or die("cannot select DB");

$query=mysql_query("SELECT * FROM login WHERE username='".$user."'");
$numrows=mysql_num_rows($query);
if($numrows==0)

共有3个答案

夏侯华彩
2023-03-14
<form method="POST" action="typewhatyouwant.php">    
    //here can be other form fields.....
    <select name="gender">
        <option value="male">Male</option>
        <option vaue="female">Female</option>
    </select>
    <input type="Submit" value="Register"/>
</form>
//Server Side "typewhatyouwant.php"
$gender = $_POST['gender'];
$con = mysqli_connect("host","username","pass","dbname");
$ins = mysqli_query($con, "INSERT INTO `dbname` VALUES ('$gender')");

这是保存表单数据的简单客户机-服务器模型。用户单击submit按钮后,表单方法被激活,数据通过HTTPPOST方法发送到“typewhatyouwant.php”。在php中,所有post数据都保存在$\u post superglobal中,这是一个关联数组,这意味着您可以通过在$\u post数组中正确键入名称属性值作为键来获取每个表单字段的值。所以$gender变量的值就是select元素的值。使用mysqli_connect函数连接数据库,mysqli_查询将$gender变量的值插入表中。

蒙墨竹
2023-03-14

希望我能理解你的问题,但我觉得你好像有一张登记表,你希望其中一个问题使用下拉列表而不是文本选项。

如果您有一个静态列表,您希望他们从中选择,例如您在示例中给出的性别,您可以简单地使用

<form action="register.php" method="post">
   ...
   <select name="gender"> 
      <option>Male</option>
      <option>Female</option>
   </select>
</form>

然后让您的“register.php”或您选择的任何名称说:

//Create mysqli object
$link = new mysqli($db_host, $db_user, $db_pass, $db_name);

// Check connection
if($link === false){
   die("ERROR: Could not connect. " . mysqli_connect_error());
}

//Set variables for insert

$gender= $_POST['gender'];

//Insert data (you'll use all your form fields)
$sql = "INSERT INTO yourtablename (name, email, gender, etc)
VALUES ('$name', '$email', '$gender','$etc')";

if(mysqli_query($link, $sql)){

    header('Location: whereyouwantusertoendup.php');
    } else{
    echo "There was an error";
}
exit;
令狐和裕
2023-03-14

如果($\u POST[…]),我将让您处理if 业务-这将更多地向您展示如何使用准备好的语句。这是我从你那里抄来的http://php.net/manual/en/mysqli.prepare.php然后做了一些改变。

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$gender = $_POST['formGender'];
$username = $_POST['username'];
$password = $_POST['password']; // obviously you'll encrypt or something

/* create a prepared statement */
if ($stmt = mysqli_prepare($link, "INSERT INTO table (username, password, gender) VALUES (?, ?, ?)")) {

    /* bind parameters for markers */
    mysqli_stmt_bind_param($stmt, "sss", $username, $password, $gender);

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

 类似资料:
  • 问题内容: 我打算根据其他下拉菜单的选择使用AJAX填充下拉框。我遵循了使用位于此处的jQuery的教程-http: //remysharp.com/2007/01/20/auto-populating-select-boxes-using-jquery- ajax/ ,并在选择框名称中更改了选择框ID名称。在脚本中。 当主复选框的值发生更改时,将发送ajax并返回如下: 这与教程代码中返回的JS

  • 我正在对php页面进行调整,希望最终用户能够从下拉列表中选择“姓名和电子邮件”。数据将来自mySQL数据库。 我已经设法让它部分工作,但是必须有东西做一个"验证",因为当页面上的所有数据都被选中,最终用户试图提交页面时,最终用户会收到电子邮件地址是无效,而事实上它是100%有效的。 与此相关,我更改的部分是,最终用户过去必须手动键入他们的电子邮件地址,现在他们可以从下拉列表中选择,但现在它告诉我们

  • 问题内容: 我在显示从数据库到下拉列表的数据时遇到了困难。 这是我尝试过的: 模型.php Controller.php View.php 但是结果显示在我的页面顶部。它没有出现在下拉列表中。我在这里做错了什么?非常感谢您的帮助。谢谢。 问题答案: 您不应该从视图中调用模型。而是在加载视图之前尝试调用模型和设置。 也不要在模型中回显行结果,除非您希望将其显示在页面上。 控制器: 模型: 视图:

  • 问题内容: 我有以下要存储在数据库中的数组… 我试图搜索谷歌上如何做到这一点,我所能找到的是表明插入数组之前需要对数组进行拆分的信息。它是否正确?抱歉,天真,对于php来说还很陌生。 问题答案: 您不能直接将数组插入 mysql, 因为 mysql 无法 识别php 数据类型。 Mysql 只了解 SQL 。因此,要将数组插入mysql数据库,必须将其转换为sql语句。可以手动或通过库来完成。输出

  • 我正在尝试将用户在表单中输入的值插入数据库。 我有两个下拉列表用于血液测试,然后是分类。例如,用户首先选择下拉列表1“甲状腺”(类别),然后下拉列表2显示“FT4、FT3 TSH”(血液检测)等,用户进行选择。 然后他们输入日期和值。 在我的insert中,我需要在我的数据库中插入用户id(在使用会话变量登录后建立)、血液测试id(从下拉列表2)、日期和值。 我不能得到我的SQL查询正确的插入一般

  • 问题内容: 我的HTML页面上有2个下拉列表:第一个下拉列表包含数据库列名称,第二个下拉列表将基于该数据库列名称进行填充, 即 我有一个带有字段的表:以下是条目; 因此,我的第一个下拉列表将包含列名称,即“ Degree”和“ City”。 如果我选择“学位”,则第二个下拉列表将填充“ BS”和“ MS”;如果我选择“城市”,则第二个下拉列表应选择“纽约”,“波士顿”和“芝加哥”。 我该如何进行实