保存时,PHP默认输入值不会更改

时间:2013-12-05 00:37:15

标签: php wordpress

我的网站运行如下:

在Wordpress选项中输入网址,保存并保存。 现在我想要它,所以在输入中设置一个默认值(服务器的url),如果我更改并保存它,在页面重新加载时应该出现新值,而不是默认值。

之前

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

我的尝试

我现在已将输入的默认值设置为服务器URL的默认值,但显然在页面重新刷新它将显示此值,只是不确定如何修复此问题,因此如果我更新输入并按保存,则页面重新刷新它将保留我的最后一个输入,而不是使用默认值更新它。

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

1 个答案:

答案 0 :(得分:0)

我的建议是将变量设置为原始$_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>