从选项标签中获取选定值并存储在db中

时间:2014-09-09 09:22:09

标签: php

我无法获取所选值并存储在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!";
}
?>

5 个答案:

答案 0 :(得分:0)

试试:

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

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

答案 1 :(得分:0)

你有php标签内的代码,所以不需要使用 echo'<form action=<?php echo $_SERVER['PHP_SELF']?> method="post">';

只需使用

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

答案 2 :(得分:0)

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

似乎您的isset($_POST['Register'])将始终返回false,因为您没有任何名为Register的dom元素。要么改变isset($_POST['Club'])的条件,要么在提交按钮

中添加名称Register

答案 3 :(得分:0)

你能试试吗?

这将是连接问题。

如果您给出了哈希(#),则会自动考虑当前页面。

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

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

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

<form method="post">

答案 4 :(得分:0)

当您的行为相同时,您可以将空白留空。但是如果你想要使用PHP_SELF,你有一些输入错误。没必要

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

试试这个

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