PHP Problem mit Radiobox auswertung

Abcd12345

Lt. Junior Grade
Registriert
März 2006
Beiträge
483
Hi,

Ich habe folgende Radiobox inerhalb eines Formulars erstellt:

PHP:
  echo "<b>Anrede:</b>";
  echo "</br>";
  echo "<b>Mann</b>";
  echo '<input type="radio" name="sex" value="male"/>';
  echo "<b>Frau</b>";
  echo '<input type="radio" name="sex" value="female" />';

Nach absenden des Formulars möchte ich mir die Auswahl anzeigen lassen:
PHP:
  echo $_REQUEST['sex'];

Egal was ausgewählt wurde es wird immer nur "Array" angezeigt.

Wo ist der Fehler?
 
Wie schickst du das Formular denn ab (GET/POST)? Und gib den Wert auch mal dementsprechend zurück, also $_GET['sex'] oder $_POST['sex'].
 
Normalerweise ist alles richtig, aber vielleicht hast du nen weiblichen HTML-Server erwischt und der steht nicht so sehr auf nen REQUEST nach 'sex' :evillol:

Zeig mal deinen kompletten Code, der Fehler steckt wo anders
 
Okey, hier ist der komplette Code:

PHP:
<?php
if(empty($_GET['e-mail']) || empty($_GET['firstname']) || empty($_GET['lastname']) || $_REQUEST['ok'] != 1)
{
echo '<form action="newsletter.php" method = "get">';
echo '<p text align = "center">';
  echo "<b>Ihre E-Mail Adresse:</b>";
  echo "</br>";
  echo '<input typ="text" name="e-mail">';
  echo "</br>";
  echo "</br>";
  
  echo "<b>Anrede:</b>";
  echo "</br>";
  echo "<b>Mann</b>";
  echo '<input type="radio" name="sex" value="male"/>';
  echo "<b>Frau</b>";
  echo '<input type="radio" name="sex" value="female" />'; 
  echo "</br>";
  echo "</br>";
  
  echo "<b>Ihr Vorname:</b>";
  echo "</br>";
  echo '<input typ="text" name="firstname">';
  echo "</br>";
  echo "</br>";
  
  echo "<b>Ihr Nachname:</b>";
  echo "</br>";
  echo '<input typ="text" name="lastname">';
  echo "</br>";
  echo "</br>";
  
  echo '<input type="checkbox" name="ok" value="1" />';
  echo "Hiermit bin ich einverstanden das ich bla bla und ausserdem </br>";
  echo "noch blub...</br></br>";
  
  echo '<input type="submit" value="Submit" />';
echo "</p>";
echo '</form>';
}
else
{
  echo $_REQUEST['sex'];
  echo "Eine E-Mail mit einem Link zur Bestätigung wurde an ";
  echo $_GET['e-mail'];
  echo "versendet!";
  
  if($_REQUEST['sex'] == "female")
  {
    $sex = "Frau";      
  }
  else
  {
    $sex = "Herr";  
  }
  
  $date = date("Ydm");
  $mail = $_GET['e-mail'];
  $first= $_GET['firstname'];
  $last = $_GET['lastname']; 
  
  $handle = fopen ("anmeld.txt", "a");
  fwrite ($handle,$mail ."|". $sex ."|". $first . " " . $last ."|". $date . "\r\n");
  fclose ($handle);
}
?>
 
abseits des problems gibt es noch ganz viele Fehler. Du hast zB sehr häufig "typ" statt "type" geschrieben bei den inputs. Bei dem <p>-tag am anfang fehlt ein - zwischen text und align.

Und warum verwendest du beim auswerten des Formulars $_GET und $_REQUEST, nimm doch gleich nur $_GET.
 
Zurück
Oben