Поэтому я создал тестовую форму, чтобы попытаться отправить значение моего переключателя в mysql. На данный момент у меня проблемы с этим. Я все еще пытаюсь справиться с php и mysql, так голыми со мной. Код ниже – это просто тест, я хочу, чтобы радиокнопка передала значение, но это не так.
<table width="300" border="0" align="center" cellpadding="0" cellspacing="1"> <tr> <td><form name="form1" method="post" action="insert_ac.php"> <table width="100%" border="0" cellspacing="1" cellpadding="3"> <tr> <td colspan="3"><strong>TEST </strong></td> </tr> <tr> <td width="71">Name</td> <td width="6">:</td> <td width="301"><input name="name" type="text" id="name"></td> </tr> <tr> <td>Case</td> <td>:</td> <td><input name="case" type="radio" id="case1"> <input name="case" type="radio" id="case2"> <input name="case" type="radio" id="case3"></td> </tr> <tr> <td>Email</td> <td>:</td> <td><input name="email" type="text" id="email"></td> </tr> <tr> <td colspan="3" align="center"><input type="submit" name="Submit" value="Submit"></td> </tr> </table> </form> </td> </tr> </table>
И вот часть соединения базы данных
<?php $host="localhost"; // Host name $username="root"; // Mysql username $password="123"; // Mysql password $db_name="store"; // Database name $tbl_name="test_mysql"; // Table name // Connect to server and select database. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); // Get values from form $name=$_POST['name']; $case=$_POST['case']; $email=$_POST['email']; // Insert data into mysql $sql="INSERT INTO $tbl_name(name, case, email)VALUES('$name', '$case', '$email')"; $result=mysql_query($sql); // if successfully insert data into database, displays message "Successful". if($result){ echo "Successful"; echo "<BR>"; echo "<a href='insert.php'>Back to main page</a>"; } else { echo "ERROR"; } ?> <?php // close connection mysql_close(); ?>
помощь будет значительно оценена
Это делается путем добавления значений к входу радиокнопки. Например:
<form method="post"> <input type="radio" name="sex" value="male">Male<br> <input type="radio" name="sex" value="female">Female <input type="submit"> </form>
Вы должны начать с закрытия всех тэгов <input>
с помощью </input>
или по крайней мере косой черты в конце (например, <input name="case" type="radio" id="case1"></input>
) ,
Вы должны установить значения для своих радиостанций (например, они всегда возвращаются 'on'
), тогда как кнопка «Отправить» не нуждается ни в имени, ни в значении.
РЕДАКТИРОВАТЬ:
Определите радиостанцию по умолчанию с selected
тегом ввода yout! Если ни один не выбран, передача данных не будет, и PHP будет вызывать Undefined index: case
при доступе к $_POST['case']
.
Хорошим способом предотвращения таких ошибок является проверка наличия всех необходимых индексов. Вы можете сделать следующее:
if(isset($_POST['name']) and isset($_POST['case']) and isset($_POST['email'])) { ... }