저는 PHP 초보자입니다. 로 연습 할 때 $_POST
키 0 대신에 날짜 1과 같은 실제 값을 게시하고 싶습니다. 예를 들어, 날짜 1을 선택하여 제출하면 "You born date 0"대신 "You born date 1"이 인쇄됩니다. 배열 키의. 시도 array_flip
했지만 실패했습니다. 아무도 나를 도울 수 없습니까?
<html>
<body>
<?php
if(isset($_POST['submit'])){
$date = $_POST['Ngay'];
$month = $_POST['Thang'];
$year = $_POST['Nam'];
$gender = $_POST['Gender'];
$hidden = $_POST['hidden'];
echo "You born $date, $month, $year. Gender is $gender";
}
?>
<?php
function build_form($value){
foreach ($value as $k => $v){
echo "<option value = '{$k}'>".$v."</option>";
}
}
?>
<?php
$month = array(
1 => "Thang 1",
2 => "Thang 2",
3 => "Thang 3",
4 => "Thang 4",
5 => "Thang 5",
6 => "Thang 6",
7 => "Thang 7",
8 => "Thang 8",
9 => "Thang 9",
10 => "Thang 10",
11 => "Thang 11",
12 => "Thang 12",
);
$date = range(1,31) ;
$year = range(1990,2000);
?>
<form action="" method="post">
<select name = "Ngay">
<option>Choose date</option>
<?php
build_form($date);
?>
</select>
<select name = "Thang">
<option>Choose month</option>
<?php
build_form($month);
?>
</select>
<select name = "Nam">
<option>Choose year</option>
<?php
build_form($year);
?>
</select>
<select name = "Gender">
<option>Gender</option>
<option value="male">Male</option>
<option value="female">Female</option>
</select>
<input type="submit" name="submit" value="Submit">
<input type="hidden" name="hidden" value="id=1">
</form>
</body>
</html>
원래 range () 배열에는 숫자 인덱스가 있습니다. 이 숫자 인덱스는 나중에 양식을 작성할 때 변수 $ k가됩니다. 따라서 배열을 변경하거나 양식을 작성하는 방법을 변경하십시오.
1) array_combine ()을 시도하여 양쪽의 배열 값만 가져올 수 있습니다. 약간 무섭게 보입니다.
$date = array_combine( array_values(range(1,31)), range(1,31));
$year = array_combine( array_values(range(1990,2000)), range(1990,2000));
2) build_form 함수를 변경하고 echo "<option value = '{$v}'>".$v."</option>";
값으로 두 번 사용할 수도 있습니다 .
echo "<select>";
$range = range(1,12);
foreach ($range as $value) {
echo "<option value='$value'>$value</option>";
}
echo "</select>";
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다