user5614
user5614

Reputation: 21

(HTML/PHP) Getting the Value of Radio Buttons with PHP

I have a group of radio boxes with different IDs.

I want to get out their value with PHP, which used to work for a while, but somehow, not anymore.... Can anyone spot the mistake, as I am not really a professional?

HTML

<form name="umfrage" id="f1" action="umfragespeichern.php" method="get" enctype="text/html">
<fieldset>
<h3>Bewertung der internen IT</h3>
<h4>Hallo, es w&auml;re sch&ouml;n, wenn du dir ein paar Sekunden Zeit nehmen w&uuml;rdest, um uns zu helfen, den Einrichtungs, &Uuml;bergabe und Einf&uuml;hrungsprozess zu verbessern.</h4>

  <p>
    Wie sehr bist du mit der bisherigen Leistung der internen IT zufrieden? <br />
    <input type="radio" id="r1" name="zufriedenheit" value="sehrgut" checked="checked" onclick="showHide();">
    <label for="r1"><span></span>Ich habe nichts zu beanstanden</label><br />
    <input type="radio" id="r2" name="zufriedenheit" value="gut" onclick="showHide();">
    <label for="r2"><span></span>Bis auf ein paar kleine Sachen bin ich zufrieden</label> <br />
    <input type="radio" id="r3" name="zufriedenheit" value="befriedigend" onclick="showHide();">
    <label for="r3"><span></span>Es haben mich einige Dinge gest&ouml;rt und/oder ich wurde beim arbeiten behindert</label> <br />
  </p>
</form>

PHP:

   if (isset($_GET['zufriedenheit']))

{

  switch ($_GET['zufriedenheit'])
  {

     case 'sehrgut':
        $zufriedenheit = "Sehr Zufrieden";
        break;

     case 'gut':
        $zufriedenheit = "Zufrieden";
        break;

     case 'befriedigend':
        $zufriedenheit = "Nicht Zufrieden";
        break;

        default:
        $zufriedenheit = "nicht definiert";
        break;

  }

}

In the folowing, different values are being written into a textfile. That works fine until I try to add the value $zufriedenheit into the line. Then the error, that is being produced says:

Notice: Undefined variable: zufriedenheit in C:\Program Files\xampp\htdocs\Umfrage\umfragespeichern.php on line 32

Line 32 says:

$fuerdatei = "------------------------------"."\r\n".date("d.m.Y H:i")." | "."\r\n"."-----"."\r\n". $zufriedenheit. $meinung."\r\n"."-----"."\r\n". $sonstiges."\r\n"."-----"."\r\n";

Thanks a lot for any help !

Upvotes: 1

Views: 1721

Answers (1)

AyB
AyB

Reputation: 11665

You are missing a

<input type="submit" value="submit">

and

</fieldset>

So your full code would be like:

<form name="umfrage" id="f1" action="umfragespeichern.php" method="get" enctype="text/html">
<fieldset>
<h3>Bewertung der internen IT</h3>
<h4>Hallo, es w&auml;re sch&ouml;n, wenn du dir ein paar Sekunden Zeit nehmen w&uuml;rdest, um uns zu helfen, den Einrichtungs, &Uuml;bergabe und Einf&uuml;hrungsprozess zu verbessern.</h4>

  <p>
    Wie sehr bist du mit der bisherigen Leistung der internen IT zufrieden? <br />
    <input type="radio" id="r1" name="zufriedenheit" value="sehrgut" checked="checked" onclick="showHide();">
    <label for="r1"><span></span>Ich habe nichts zu beanstanden</label><br />
    <input type="radio" id="r2" name="zufriedenheit" value="gut" onclick="showHide();">
    <label for="r2"><span></span>Bis auf ein paar kleine Sachen bin ich zufrieden</label> <br />
    <input type="radio" id="r3" name="zufriedenheit" value="befriedigend" onclick="showHide();">
    <label for="r3"><span></span>Es haben mich einige Dinge gest&ouml;rt und/oder ich wurde beim arbeiten behindert</label> <br />
  </p>
    <input type="submit" value="submit"> <!-- Added -->
</fieldset> <!-- Added -->
</form>

and in your umfragespeichern.php:

<?php
$zufriedenheit='';
if (isset($_GET['zufriedenheit']))
{

  switch ($_GET['zufriedenheit'])
  {

     case 'sehrgut':
        $zufriedenheit = "Sehr Zufrieden";
        break;

     case 'gut':
        $zufriedenheit = "Zufrieden";
        break;

     case 'befriedigend':
        $zufriedenheit = "Nicht Zufrieden";
        break;

        default:
        $zufriedenheit = "nicht definiert";
        break;

  }
}

echo $zufriedenheit;
?>

You can check the working demo here

Upvotes: 1

Related Questions