PHP默认输入值won';保存时不要更改


PHP default input value won't change on save

我的网站工作如下:

在Wordpress选项中输入url,保存即可保存。现在我希望它在输入(服务器的url)中设置一个默认值,如果我更改并保存它,在页面上重新加载时应该显示新值,而不是默认值。

之前

<label for="site">
    <strong>Site:</strong> 
    <input type="text" name="url" value="<?php echo $this->getOption($options, 'url') ; ?>">
</label><em>

我的尝试

我现在已经将输入的默认值设置为服务器url的默认值,但很明显,在页面重新刷新时,它会显示这个值,只是不确定如何修复这个问题,所以如果我更新输入并按save,在页面上重新刷新时它将保留我的最后一个输入,而不是用默认值更新它。

<label for="site">
    <strong>Site:</strong>
    <input type="text" name="url" value="http://<?php echo str_replace('www.','', $_SERVER['SERVER_NAME']); ?>/"/>
</label><em>

我的建议是将变量设置为原始$_SERVER
如果值是从表单中发布的,请将变量设置为该值
然后,使用该变量填充输入值,而不是原始的$_SERVER值。

类似这样的东西:

<?php
// this uses a ternary operator. if ? then : else.
// if value is posted set to that value, otherwise set to $_SERVER value
$url= !empty($_POST['url'])
       ? $_POST['url'] 
       : 'http://'.str_replace('www.','', $_SERVER['SERVER_NAME']);
// show a message if data is posted (for debugging purposes)
if (!empty($_POST)) {echo "<p>Data was posted.</p>";}
?>
<form action="" method="post">
  <label>
    <strong>Site:</strong>
    <input type="text" name="url" value="<?php echo $url ?>" />
  </label>
</form>