我环顾四周,但我没有找到任何东西。
我有这个代码,我试着做一些更改,但我总是在值部分得到相同的错误T_IF。
如何将其修改为没有错误?
else {
echo "<form action='create-channel.php' method='POST'>
<input class='form-control' name='n_channel' type='text' id='n_channel' placeholder='Name Channel' value=" if(isset($error)){echo "$_POST['n_channel']"; } "></p>
<input class='form-control' name='p_channel' type='text' placeholder='Password'></p>
<input class='btn btn-primary xst-margin' type='submit' name='submit' value='Submit' />
</form>";
}
答案 0 :(得分:1)
当您if
时,您无法获得echo
声明。
你必须回应第一部分。进行if
检查。然后重新回应最后一部分:
else {
echo 'first part';
if(isset($error)) {
echo "$_POST['n_channel']";
}
echo 'last part';
}
答案 1 :(得分:1)
你不能echo
或在回声中有一个if
作为开始。尝试这样的事情:
else {
$channel = isset($error) ? $_POST['n_channel'] : '';
echo "<form action='create-channel.php' method='POST'>";
echo "<input class='form-control' name='n_channel' type='text' id='n_channel' placeholder='Name Channel' value=" . $channel . "></p>";
echo "<input class='form-control' name='p_channel' type='text' placeholder='Password'></p>";
echo "<input class='btn btn-primary xst-margin' type='submit' name='submit' value='Submit' />";
echo "</form>";
}
基本上,如果$error
已设置,则$channel
= $_POST['n_channel']
,否则它等于零。然后在主字符串中连接它。
答案 2 :(得分:0)
$error = 111;
if( 1 == 2 )
echo 1;
else { echo "<form action='create-channel.php' method='POST'>
<input class='form-control' name='n_channel' type='text' id='n_channel' placeholder='Name Channel' value=";
if(isset($error)){echo $_POST['n_channel'];}
echo "></p>
<input class='form-control' name='p_channel' type='text' placeholder='Password'></p>
<input class='btn btn-primary xst-margin' type='submit' name='submit' value='Submit' />
</form>";
}
答案 3 :(得分:0)
您正在使用错误的字符串连接。而不是
placeholder='Name Channel' value=" if(isset($error)){echo "$_POST['n_channel']"; } "></p>
使用
placeholder='Name Channel' value='".(isset($error) ? $_POST['n_channel'] : '')."'></p>
答案 4 :(得分:0)
您在字符串中间有if
个关键字:
echo "...." if(isset($error)){echo "...."
您需要结束第一个echo
语句,然后继续下一个语句:
echo "....";
if(isset($error)){
echo "....";
}
然后,您也会立即使用意外的字符串:
echo "....";
if(isset($error)){
echo "....";
}
"...."
由于您正在使用新语句,因此需要提供某种命令。字符串本身不是要执行的语句。我猜你想要echo
那个字符串:
echo "....";
if(isset($error)){
echo "....";
}
echo "....";
PHP代码是一系列要执行的离散命令式语句。你不能混合这样的不同语句,并希望翻译能够知道你的意思,它只会让译员感到困惑。每个语句都需要在语法上正确,需要用分号结束。
答案 5 :(得分:0)
基本上你可以这样做:
else {
echo 'first part of your string';
if(isset($error)) {
echo $_POST['n_channel'];
}
echo 'last part of your string';
}
或
else {
echo 'first part of your string' .
(isset($error) ? $_POST['n_channel'] : '')
. 'last part of your string';
}
使用三元运算符
在您的情况下,2个代码将起作用:
else {
echo '<form action='create - channel . php' method='POST'>
<input class='form
- control' name='n_channel' type='text' id='n_channel' placeholder='Name Channel' value="';
if (isset($error)) {
echo $_POST['n_channel'];
}
echo '"></p>
<input class='form - control' name='p_channel' type='text' placeholder='Password'></p>
<input class='btn btn - primary xst - margin' type='submit' name='submit' value='Submit' />
</form>';
}
或
else {
echo '<form action='create - channel . php' method='POST'>
<input class='form
- control' name='n_channel' type='text' id='n_channel' placeholder='Name Channel' value="'.
((isset($error)) ? $_POST['n_channel'] : '' )
. '"></p>
<input class='form - control' name='p_channel' type='text' placeholder='Password'></p>
<input class='btn btn - primary xst - margin' type='submit' name='submit' value='Submit' />
</form>';
}
答案 6 :(得分:0)
你可以试试这个。它对我有用:
echo "<form action='create-channel.php' method='POST'>
<input class='form-control' name='n_channel' type='text' id='n_channel' placeholder='Name Channel' value=".isset($_POST['n_channel'])." ></p>
<input class='form-control' name='p_channel' type='text' placeholder='Password'>
<input class='btn btn-primary xst-margin' type='submit' name='submit' value='Submit' />
</form>";