[英]can you tell me what's wrong with this google drive API call function in PHP
[英]Can you tell me what's wrong with this PHP form?
我正在嘗試制作一個簡單的網站,在該網站中我詢問用戶他們的姓名和出生日期,以便輸出“你好(姓名)你是(年齡)歲,你將畢業(畢業日期)。我覺得我的代碼是正確的,但是當我提交表單時,它會將我帶到一個空白頁面。
我的代碼: HTML
<body>
<center>
<form action="aform.php" method="post">
Name:<input type="text" name="name" />
<br />
Date of Birth:
<input type="text" size="4" placeholder="mm" name="month" />
<input type="text" size="4" placeholder="dd" name="day" />
<input type="text" size="6" placeholder="yyyy" name="year" />
<input type="submit" name="submit" value="Submit" />
<br />
</form>
</center>
</body>
PHP:
<?php
if($_POST["submit"]){
$name = $_POST["name"];
$day = $_POST["day"];
$month = $_POST["month"];
$year = $_POST["year"];
$datedisplay = date("yyyy");
$birth = array($day,$month,$year);
if($name = $year = $month = $day = ""){
echo "You must fill out everything!";
} else if($year = $month = $day > 0) {
$yourage = 2014 - $year;
$gradyear = $year + 22;
$graddate = "6/TBA/$gradyear";
echo "Hello" . $name . ", you are" . $yourage . "years old and you will graduate from college in" . $graddate ;
}
}
?>
對不起,如果我提出這個錯誤,我是這個網站的新手。
你的測試是錯誤的。 這是一個更正的代碼:
<?php
if($_POST["submit"]) {
$name = $_POST["name"];
$day = $_POST["day"];
$month = $_POST["month"];
$year = $_POST["year"];
$datedisplay = date("yyyy");
$birth = array($day,$month,$year);
if(empty($name) || empty($year) || empty($month) || empty($day)) {
echo "You must fill out everything!";
} else if($year > 0 && $month > 0 && $day > 0) {
$yourage = 2014 - $year;
$gradyear = $year + 22;
$graddate = "6/TBA/$gradyear";
echo "Hello" . $name . ", you are" . $yourage . "years old and you will graduate from college in" . $graddate ;
}
}
?>
我認為
if($name = $year = $month = $day = ""){
echo "You must fill out everything!";
}
這不是很好。 您應該檢查每個變量為empty或isset 。 使用 one =在你的情況下,你給變量一個值。
if(!empty($name) && !empty($year) && !empty($month)) {
1) 你需要在 ifs 中使用 == ......單個 = 的工作方式不同
(這樣,您只需嘗試檢查,是否可以將 $year 的值分配給 $name )
if($name = $year = $month = $day = "")
2)你需要重寫,如果
if( ( strlen( $name ) == 0 ) && ( strlen( $year ) == 0 ) .....
3)你也需要重寫你的elseif東西
嘗試這個:
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$name = $_POST["name"];
$day = $_POST["day"];
$month = $_POST["month"];
$year = $_POST["year"];
$datedisplay = date("yyyy");
$birth = array($day,$month,$year);
if($name == "" || $year == "" || $month == "" || $day == ""){
echo "You must fill out everything!";
}
else if($year > 0 && $month > 0 && $day > 0){
$yourage = 2014 - $year;
$gradyear = $year + 22;
$graddate = "6/TBA/$gradyear";
echo "Hello" . $name . ", you are" . $yourage . "years old and you will graduate from college in" . $graddate ;
}
}
?>
如果這不起作用,請編輯您的問題並添加您編寫的 HTML 表單代碼
不要使用賦值運算符代替壓縮運算符。 在 php 中
if($name = $year = $month = $day = ""){
}
else if($year = $month = $day > 0){}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.