PHP 获取空参数
PHP getting empty parameter
我正在从 html 调用 PHP 函数,我想确保在相应的输入框为空时发生一件事,而在不为空时发生另一件事。
出于某种原因 PHP 始终认为它不为空。想不通为什么。
html 片段:
<input type="button"
value="checkout"
onClick="self.location='testphp.php?checkout=true&folderName=\'' + document.folderForm.folderLocation.value + '\''">
</button>
<form enctype="multipart/form-data" method="post" name="folderForm">
<input type=file name="myfile">
<input type=text name="folderLocation" id="folderLocation">
<input type=hidden name="folderName">
<input type=button value="Get Folder" onclick="javascript:GetFolder();">
<input type=hidden name=submitted value=1>
<input type="submit" value="Create Repository" />
</form>
php 片段:
if($_GET['checkout']){
if( isset( $_GET['folderName'] ) && !empty( $_GET['folderName'] ) ) {
echo $_GET["folderName"];
echo exec("/var/www/html/checkout.sh ".$_GET["folderName"]);
} else {
echo "<script type='text/javascript'>alert('Please choose repository from the list first');</script>";
}
}
有什么想法吗?
尝试将 !isempty( $_GET['folderName'] )
更改为 strlen( $_GET['folderName'] ) > 0
。
EDIT 在这种情况下,问题是由 folderName
参数中的 '
引起的,当 folderName
为空时,结果$_GET
仍然包含两个引号。
我正在从 html 调用 PHP 函数,我想确保在相应的输入框为空时发生一件事,而在不为空时发生另一件事。 出于某种原因 PHP 始终认为它不为空。想不通为什么。
html 片段:
<input type="button"
value="checkout"
onClick="self.location='testphp.php?checkout=true&folderName=\'' + document.folderForm.folderLocation.value + '\''">
</button>
<form enctype="multipart/form-data" method="post" name="folderForm">
<input type=file name="myfile">
<input type=text name="folderLocation" id="folderLocation">
<input type=hidden name="folderName">
<input type=button value="Get Folder" onclick="javascript:GetFolder();">
<input type=hidden name=submitted value=1>
<input type="submit" value="Create Repository" />
</form>
php 片段:
if($_GET['checkout']){
if( isset( $_GET['folderName'] ) && !empty( $_GET['folderName'] ) ) {
echo $_GET["folderName"];
echo exec("/var/www/html/checkout.sh ".$_GET["folderName"]);
} else {
echo "<script type='text/javascript'>alert('Please choose repository from the list first');</script>";
}
}
有什么想法吗?
尝试将 !isempty( $_GET['folderName'] )
更改为 strlen( $_GET['folderName'] ) > 0
。
EDIT 在这种情况下,问题是由 folderName
参数中的 '
引起的,当 folderName
为空时,结果$_GET
仍然包含两个引号。