Adding radio button values to MYSQL table using PHP
Asked Answered
P

4

7

I am using PHP/MYSQL to create a form that includes radio buttons. I am trying and add the value of checked radio buttons to a table within a database. At the minute I can't get anything to add to the database. The table is called assessment.

QUESTION1.PHP

<?php 
include 'core/init.php';
include 'includes/overall/overall_header.php';
protect_page();
include 'includes/menu.php';
include 'includes/overall/navigate.php';
include 'includes/widgets/loggedin.php';

?>      

<h1>Assessment</h1>

<form action="save.php" method="post">

<p class="p1">
Question 1</p>
<p class="p4">
Are you tall or short?</p>

<p class="p3"> 
<input type="radio" name="q1" value="1" />
1
<input type="radio" name="q1" value="2" />
2
<input type="radio" name="q1" value="3" />
3
<input type="radio" name="q1" value="4" />
4
<input type="radio" name="q1" value="5" />
5
</p><br><br>
</form>

<img src="Images/image1.png" alt="Submit" class="thumbnail" align="right" width="58"      height="52" id="question2">
<img src="Images/save.png" alt="Submit" class="thumbnail" align="right" width="65" height="52">

<?php
}
 include 'includes/overall/overall_footer.php'; 
 ?>  

SAVE.PHP

<?php
session_start();
include('connection.php');
$q1=$_POST['q1'];
mysql_query("INSERT INTO `assessment` (q1) VALUES ('$q1')");
header("location: question2.php?");
mysql_close($con);
?>
Pyemia answered 7/4, 2013 at 23:7 Comment(4)
I assume you checked the contents of the $_POST-variable in your save.php-page? Next, try to perform your query manually in your db by replacing $q1 with a proper value. If that works, there's probably something wrong with your db connection.Renaldo
Welcome to Stack Overflow! Please, don't use mysql_* functions in new code. They are no longer maintained and are officially deprecated. See the red box? Learn about prepared statements instead, and use pdo or mysqli.Candlepower
What are the contents of $_POST['q1'] on save.php. Do you get any errors?Outroar
After a bit of messing about it it i have now got the values to add to the table from the form. Now i have another problem, i am trying to do a questionnaire with a different question on every page but every time i select a radio button and proceed to the next page the radio button is added to a new row rather than the same row but the next column :/Pyemia
B
4

i would like to know, what is the purpose of these two image TAG. i just changed those img tag into button image .

<h1>Assessment</h1>
<form action="save.php" method="post">
  <p class="p1"> Question 1</p>
  <p class="p4"> Are you tall or short?</p>
  <p class="p3">
    <input type="radio" name="q1" value="1" />
    1
    <input type="radio" name="q1" value="2" />
    2
    <input type="radio" name="q1" value="3" />
    3
    <input type="radio" name="q1" value="4" />
    4
    <input type="radio" name="q1" value="5" />
    5 </p>
  <br>
  <br>
  <input type="image" src="Images/image1.png" />
  <input type="image" src="Images/save.png" />
</form>

save.php

 <?php
    if (isset($_POST['q1'])){
        $q1 = $_POST['q1'];
        mysql_query("INSERT INTO assessment (q1) VALUES ('$q1')");
    }
    ?>
Backfire answered 8/4, 2013 at 10:55 Comment(0)
R
2
if (isset($_POST['q1'])) {
    $q1 = $_POST['q1'];
    $stmt = $db->prepare("INSERT INTO members (q1) VALUES (:q1)");

    $stmt->execute(array(':q1' => $_POST['q1']));
}
Ramshackle answered 7/9, 2015 at 10:3 Comment(0)
L
-1

There is a radio button of gender to choose from male and female

<?php
$gender=$_POST['radiobutton_name'];
$sql="INSERT INTO table_name(column_name)
VALUES('$gender')";
?>
Ligan answered 25/3, 2017 at 7:3 Comment(0)
R
-1

I am just follow your code and giving solution. You need to just few changes in save.php as follow:

<?php

if (isset($_POST['q1'])) {
    $q1 = $_POST['q1'];
    $sql = mysql_query("INSERT INTO assessment (q1) VALUES ('$q1')") or die("MySQL Error : ".mysql_error($conn));
    if ($sql) {
        echo "Data Saved";
    } else {
        echo "Data not saved";
    }
}

If find any issue please let me know.

Important Note : Please avoid mysql_* kind of function its deprecated in PHP 5.5.0 and onwards.

Rosner answered 21/7, 2017 at 7:41 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.