繁体   English   中英

从选项标签中获取选定的值并存储在数据库中

[英]get selected value from option tag and store in db

我无法获取选定的值并存储在mysql中,我想知道应该在表单操作中添加什么,而我却看到一些说不需要的东西和一些说放置的东西

<?php echo $_SERVER['PHP_SELF']?>

这是完整的代码

<?php 
$db_handle = mysql_connect("localhost","root","");
$db_found = mysql_select_db("sdp", $db_handle);
$sql='SELECT title FROM club order by title';
$query= mysql_query($sql)or die(mysql_error());

echo'<form action=<?php echo $_SERVER['PHP_SELF']?> method="post">';
echo '<select name="club">';

while ($row=mysql_fetch_array($query)) {
  echo'<option value="'.$row['title'].'">'.$row['title'].'</option>';
}

echo'</select>';
echo'<input type="submit" value="Register">';
echo'</form>';

if(isset($_POST['Register'])) {
  session_start();
  $title=$_POST['club'];
  echo $title;
  $username=$_SESSION['username'];
  mysql_query("UPDATE login SET club='$title' WHERE user='$username'");
  echo "Register successfully!";
}
?>

只需尝试:

echo'<form action="' . $_SERVER['PHP_SELF'] . '" method="post">';

但是,如果未指定<form> action属性,它将把数据发布到当前操作中,因此在这种情况下可以跳过它。

您在php标记中包含代码,因此无需使用echo'<form action=<?php echo $_SERVER['PHP_SELF']?> method="post">';

只是使用

echo'<form action="'.$_SERVER['PHP_SELF'].'" method="post">';

如果要发布到同一页面,则无需指定action

似乎您的isset($_POST['Register'])总是返回false,因为您没有任何名称为Register dom元素。 您可以更改isset($_POST['Club'])也可以添加名称Register到提交按钮

你可以试试看吗?

那将是串联的问题。

如果给定hash(#),则会自动考虑当前页面。

<form action=<?php echo $_SERVER['PHP_SELF']?>

<form action="'.<?php echo $_SERVER['PHP_SELF']?>.'" method="post">

要么

<form action="#" method="post">

要么

<form method="post">

您可以在操作相同时将其留空。 但是,您要按照您的描述使用PHP_SELF,您会遇到一些输入错误。 不需要做

  echo'<form action=<?php echo $_SERVER['PHP_SELF']?> method="post">';

尝试这个

  echo'<form action="'.$_SERVER["PHP_SELF"].'" method="post">';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM