Autor Zpráva
AntiWirus
Profil *
Dobrý den,
Chci se zeptat jak dám checkbox aby se zapsal do databaze.
Checkbox byl měl obsahovat "Muž" nebo "Žena".
Děkuji.
Zde jsou zdrojové kódy:

zapsat.php :
<?
$jmeno = ($_POST["jmeno"]);
$prijmeni = ($_POST["prijmeni"]);
$heslo = ($_POST["heslo"]);
?>

<?php
$con = mysql_connect("localhost","nick","heslo");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("registrace", $con);

mysql_query("INSERT INTO Registrace (Jmeno, Prijmeni, Heslo)
VALUES ('$jmeno', '$prijmeni', '$heslo')");

mysql_close($con);
?>


registrace.php :
<form method="post" action="zapsat.php" accept-charset="windows-1250"> 
Jméno:
</br>
<input type="text" name="jmeno" size="15" maxlength="30">
</br> 
Příjmení:
</br> 
<input type="text" name="prijmeni" size="15" maxlength="30">
</br>
Heslo:
</br> 
<input type="password" name="heslo" size="15" maxlength="30">
</br>
<input type="submit" name="Submit" value="Registrace"> 
</form>
ShiraNai7
Profil
AntiWirus:
Checkbox byl měl obsahovat "Muž" nebo "Žena".

To spíš tedy select nebo optiony, ne? Checkbox je jen zaškrtávací.
<label><input type="radio" name="pohlavi" value="0"> Muž</label><br>
<label><input type="radio" name="pohlavi" value="1"> Žena</label>


Vytvoř si v tabulce nový sloupec "Pohlavi" s typem třeba TINYINT, a poté takto:
$pohlavi = (isset($_POST['pohlavi']) ? (int)$_POST['pohlavi'] : 0);
if($pohlavi !== 0 && $pohlavi !== 1) $pohlavi = 0;
...
mysql_query("INSERT INTO Registrace (Jmeno, Prijmeni, Heslo, Pohlavi)
VALUES ('$jmeno', '$prijmeni', '$heslo', $pohlavi)");
AntiWirus
Profil *
ShiraNai7:
Ano,... děkuji že jsi mi to objasnil,... měl jsem za to, že je to obráceně.
Moc ti děkuji.
etexweb
Profil
Ja by som pri nerovnacej sa hodnote v if len != a nie !==.
:D
ShiraNai7
Profil
etexweb:
Ani ne, když vím, že budou obě proměnné stejného typu, není důvod používat nestriktní srovnávání.
Viz php dokumentace..

Ve svých skriptech k tomu přistupuji obráceně - používám striktní srovnávání vždy. Nestriktní pouze v případě, že jsem si vědom srovnávání dvou různých typů (např číslo vs číslo jako řetězec) a požaduji takovou funkcionalitu.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: