PHP-页面需要两次提交才能显示更改
我遇到了最讨厌的PHP。我需要提交页面两次,然后才对页面进行更改。例如如果在启用工具时提交页面,它将显示工具的设置:要显示这些设置,您需要提交两次页面。这个代码有什么问题 另一个例子:PHP-页面需要两次提交才能显示更改,php,html,Php,Html,我遇到了最讨厌的PHP。我需要提交页面两次,然后才对页面进行更改。例如如果在启用工具时提交页面,它将显示工具的设置:要显示这些设置,您需要提交两次页面。这个代码有什么问题 另一个例子: 代码: <?php if (isset($_POST["submit"])) { $string = '<?php $customoptions = ' . $_POST["customoptions"] . '; $primarycolor = "' . $_POST["
代码:
<?php
if (isset($_POST["submit"]))
{
$string = '<?php
$customoptions = ' . $_POST["customoptions"] . ';
$primarycolor = "' . $_POST["primarycolor"] . '";
$adminbg = "' . $_POST["adminbg"] . '";
?>';
$fp = fopen("includes/userstyle.php", "w");
fwrite($fp, $string);
fclose($fp);
}
?>
<form action="" name="customopt" method="post">
<table>
<tr>
<td>Panel language</td>
<td>
<select onchange="this.options[this.selectedIndex].value && (window.location = this.options[this.selectedIndex].value);">
<option><?php echo $lang['chooselanguage']; ?></option>
<option value="dashboard.php?lang=en">English</option>
<option value="dashboard.php?lang=nl">Dutch</option>
</select>
</td>
</tr>
<tr>
<td>Custom Style</td>
<td>
<select name="customoptions" id="customoptions">
<option <?php echo ($customoptions == true) ? 'selected' : '' ?> value="true">
<?php echo $lang['enabled']; ?>
</option>
<option <?php echo ($customoptions == true) ? 'selected' : '' ?> value="false">
<?php echo $lang['disabled']; ?>
</option>
</select>
</td>
</tr>
<?php
if ($customoptions)
{
?>
<tr>
<td>Primary Color</td>
<td><input name="primarycolor" type="text" id="primarycolor" value="<?php echo $primarycolor; ?>"></td>
</tr>
<tr>
<td>Background Color</td>
<td><input name="adminbg" type="text" id="adminbg" value="<?php echo $adminbg; ?>"></td>
</tr>
<?php
}
?>
</table>
<input type="submit" name="submit" value="<?php echo $lang['ok']; ?>">
</form>
好的,试着去做这件事与上面写着if(isset($\u POST['submit'])的顶部有关。
如果未设置,请尝试给它一个默认值<代码>如果(!(设置($\u POST['submit']))
当您从字符串内部定义$string remove时,我将引用$customoptions变量$primarycolor和$adminbg。您已经在一个php标记中了!虽然我不明白您为什么要这样做,但您必须提交两次的原因是,第一次提交时,它会运行脚本并更新文件。但是,在下次运行脚本之前,您不会看到更新的文件。如果这有任何意义的话。@LelioFaieta这是正确的,它需要将几个字符串写入一个PHP文件,这不应该是问题,我还在其他页面上使用该脚本,它工作正常,我很困惑o。o@WheatBeak奇怪的是,我在其他页面上使用了这个脚本,效果很好。只是这个页面不想第一次更新,这让人很困惑。一行代码肯定有问题,但我现在找了几个小时,什么也找不到。。任何东西..找到行
include“includes/userstyle.php”
(必须存在,但您的问题中没有显示)并将其放置在if(isset($\u POST[“submit”]){}
块下;不,不是这样;当我更改它时,它根本不会写入文件