POST sonra PHP form değerleri

3 Cevap php

I have a form on which I POST the data with PHP. When the data is send I want to show the new values. Doing this on textfields is easy, but how can I set the new values on the radioboxes. My default value is Male here.

PHP

if (isset($_POST['Submit'])) {
    update_user($_POST['name'], $_POST['sex']); // the update method
}

HTML

<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  <label for="name">Name:</label>
  <input type="text" name="name" size="30" value="<?php echo (isset($_POST['name'])) ? $_POST['name'] : ""; ?>">
  <br /><br />
  <label for="sex">Sex:</label>
  <input type="radio" checked="checked" name="sex" value="<?php echo (isset($_POST['sex'])) ? $_POST['sex'] : "M"; ?>" /> Male
  <input type="radio" name="sex" value="<?php echo (isset($_POST['sex'])) ? $_POST['sex'] : "F"; ?>" /> Female
</form>

3 Cevap

Peki Seks radioboxes değerlerini bilmek ... M ve F tek bir kontrol edilmesi gerekiyor görmek istiyorum. Bu varsayılan şu anda o var gibi Erkek olmak için kontrol etti.

<input type="radio" <?php echo (!isset($_POST['sex']) || $_POST['sex'] == "M") ? 'checked="checked"': ''; ?> name="sex" value="M" /> Male
<input type="radio" <?php echo (isset($_POST['sex']) && $_POST['sex'] == "F") ? 'checked="checked"': ''; ?> name="sex" value="F" /> Female

Yerine aşağıdaki deneyin:

<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
  <label for="name">Name:</label> 
  <input type="text" name="name" size="30" value="<?php echo (isset($_POST['name'])) ? $_POST['name'] : ""; ?>"> 
  <br /><br /> 
  <label for="email">Sex:</label> 
  <input type="radio" name="sex"<?php echo (@$_POST['sex'] == "M") ? 'checked="checked"' : "";?> value="M" /> Male 
  <input type="radio" name="sex" <?php echo (@$_POST['sex'] == "F") ? 'checked="checked"' : "";?> value="F" /> Female 
</form> 

@ karakter kullanarak değişken $_POST dizide değilse isset, bu uyarıları / hataları bastırır kullanmaya gerek duymazsınız.

Print_r ($ _POST) ile deneyin; exit; değerleri değişken POST göndererek görmek için.