PHP 回显变量和函数

PHP echo with variables and functions

我正在尝试创建一个自动刷新 url,但它似乎不起作用。

<?php 
$lastid = 12345
redirect = echo the_permalink(get_option( 'cts_return_page' )).'?transid='.$lastid';
echo '<meta http-equiv="refresh" content="1; url='$redirect'">';
?>

url 我希望它 redirect/refresh 会是 http://example.com/page-from-options?transid=12345

对我做错了什么有什么建议吗?

You can not set with any variable value with echo statement first you need set variable $redirect value after you can echo $redirect

<?php 
   $lastid = '12345'; // use semicolon
   $redirect = the_permalink(get_option('cts_return_page'))."?transid=".$lastid; // you made mistake here `echo` should not goes here
   echo '<meta http-equiv="refresh" content="1; url="'.$redirect.'">';
?>

您正在使用 WordPress,对吗?我可以通过 the_permalinkget_option 函数进行猜测。如果是这样,以下代码应该适合您。

更多解释:[编辑] 请参阅 Nirav Joshi 的 PHP 错误。此外,当您使用 WordPress

  • the_permalink 实际上与 url 相呼应。您应该使用 get_permalink 将 url 存储在 $redirect 变量中。

使用此代码:

    $lastid = 12345;
    $redirect = get_permalink(get_option( 'cts_return_page' )) . '?transid=' . $lastid;
    echo '<meta http-equiv="refresh" content="1; url=' . $redirect . '">';

你在代码中犯了几个错误,比如

  • 你不应该像 $redirect = echo 那样使用 echo
  • 您必须使用 $redirect 而不是 redirect
  • 不需要在$lastid之后使用'
  • 并在12345之后使用;
  • 编辑.. 连接,如 url='.$redirect.'

希望对您有所帮助。

<?php
  $lastid = 12345;
  $redirect = the_permalink(get_option( 'cts_return_page' )).'?transid='.$lastid;
 echo '<meta http-equiv="refresh" content="1; url='.$redirect.'">';
?>

Solution:

  <?php
    $lastid = 12345;

    $redirect = the_permalink(get_option( 'cts_return_page' )).'?transid='.$lastid;

    echo " <meta http-equiv='refresh' content='1'; url ='<?php $redirect ?>' > ";
  ?>

<?php

     //$redirect = get_permalink(get_option( 'cts_return_page' )).'?transid='.$lastid;
     //$url = "http://example.com/page-from-options?transid=12345";

       $lastid = 12345;

    // Retrieve the `cts_return_page`, and storing it in a variable.
       echo $get_options = get_option('cts_return_page');

    //Displays the URL to the post:
      echo $redirect = the_permalink($get_options).'?transid='.$lastid;


   //echo " <meta http-equiv='refresh' content='1'; url ='http://example.com/<?php $redirect ?>' > ";

?>

<meta http-equiv='refresh' content='1' url='http://example.com/<?php echo $redirect; ?>' >

Problems:

  • 第一个 Syntax Error: 分号 ( ; ) 在 $lastid = 12345 之后丢失以及您在这里使用了字符串值 为什么? $lastid 它的整数值如此使用,例如:$lastid = 12345;

  • 当你赋值(=)时不要使用echoecho实际上是用来打印值的,所以避免使用。

  • -