meghana
meghana

Reputation: 23

get the value from url by using php

I displayed a set of questions.

On selecting one of those questions for which I required the answers to be posted on the same page, but the problem is I am not getting id parameter from url which I am passing on selectiong the question.

Now when I am trying to answer the question which is selected, I will need the id of question to post the answer of that perticular question which I already have in url as a parameter for Example: id=1.

Here is the body section of html page:

     <?php
 include("menu/menu.php");
 $sqli = "SELECT * FROM forum_question where id='$id'";
 $result=mysqli_query($conn,$sqli);
    ?>

  <form action="submit_answer.php" method="post" name="answers">
     <br> <br> <br>


      <?php 
  while($row = mysqli_fetch_array($result))
    echo "Q".$row['detail'];
  ?>

  <br>
  answers:<br>
     <textarea class="tinymce" name="answers"></textarea>
     <input type="hidden" name="id" value="<?php echo $id;?>">
  <br> <br>
  <input type="submit" value="submit" name="submit">

After submit the page "submit_answer.php", Code is:

<?php 
include'config.php';

if($conn){
 if ($_SERVER["REQUEST_METHOD"] == "POST") {

    $answers = $_REQUEST['answers'];

  $id= $_GET ['id'];
  }

   $sqli= "INSERT INTO answers (answers)
 VALUES ('$answers')";
if (mysqli_query( $conn,$sqli))
 {
     echo "New record created successfully";
   header("location:answer.php?id='$id'");

 } else {
  echo "Error: " . $sqli . "<br>" . $conn->error;
    }
}else{              

}

 mysqli_close($conn);


?>

Basically I am very much fresher in Php I just want to know how should I get the id of question and submit it to the "submit_answer.php" with the answer content.

Upvotes: 2

Views: 222

Answers (2)

Ajit Hogade
Ajit Hogade

Reputation: 1095

just take a hidden field below the answer field and get the url parameter to that hidden field on page load, as said by user buivankim2020 and submit submit_answer.php,

after submit get the value of that field in variable like what you do for getting the answer..

Upvotes: 1

buivankim2020
buivankim2020

Reputation: 84

You should change it (add hidden input for id in markup html)

<?php 
include'config.php';
//session_start();
$id= $_GET ['id'];

?>

<html>
<head>
    <link rel="stylesheet" type="text/css" href="css/style.css">
    <script type="text/javascript" src="tinymce/js/jquery.min.js"></script>
        <script type="text/javascript" src="tinymce/plugin/tinymce/tinymce.min.js"></script>
        <script type="text/javascript" src="tinymce/plugin/tinymce/init-tinymce.js"></script>
</head>
  <body>
    <div id="container">
      <div id="main">


      <?php
      include("menu/menu.php");
      $sqli = "SELECT * FROM forum_question where id='$id'";
      $result=mysqli_query($conn,$sqli);
      ?>

    <form action="submit_answer.php" method="post" name="answers">
      <br> <br> <br>
      <?php 
      while($row = mysqli_fetch_array($result))
         echo "Q".$row['detail'];
      ?>

      <br>answers:<br>
      <textarea class="tinymce" name="answers"></textarea>
      <input type="hidden" name="id" value="<?php echo $id;?>">
      <br> <br>
      <input type="submit" value="submit" name="submit">
    </form>
  </body>
</html>

submit_answer.php

<?php 
include'config.php';

if($conn){
  if (isset($_POST['answers']) && isset($_POST['id'])) {
    $answers = $_POST['answers'];
    $id= $_POST['id'];

    $sqli= "INSERT INTO answers (answers) VALUES ('$answers')";
    if (mysqli_query( $conn,$sqli))
    {
      echo "New record created successfully";
      header("location:answer.php?id='$id'");

    } else {
      echo "Error: " . $sqli . "<br>" . $conn->error;
    }
  }
  mysqli_close($conn);
}
?>

Upvotes: 0

Related Questions