【问题标题】:PHP variable value not being displayed in JS alertJS警报中未显示PHP变量值
【发布时间】:2016-01-15 02:31:39
【问题描述】:

在下面的代码中,我生成了一个 php 表单,它接收来自用户的值,用于我正在处理的 arp 网络攻击。但是,我试图在 javascript 警报中显示发送“$loops”的数据包数量,当我运行代码时,警报中不显示数据包数量,我不知道出了什么问题,所以如果有人可以通过和流动我的代码我非常感激。

<form method ='post' action ="<?php echo $_SERVER['PHP_SELF'];?>">

<?php $loops = "";?>

<b> <p>Number of packets to be sent:</p>
<input type="text" name="loops" value="<?php echo $loops;?>">
<br><br></b>

<?php
$php_var = $loops;?>


<p style="text-align: center;">
<button onclick="myFunction()">Submit</button></p><br>  
<script>
    function myFunction() {
            var js_var = "The number of packets sent is: <?php echo $php_var; ?>";
                    alert(js_var);
                        }
</script>
</font>
</form>


<?php
if($_SERVER["REQUEST_METHOD"]== "POST"){
if(isset($_POST["loops"])){
    $loops=$_REQUEST['loops'];
}
?>

【问题讨论】:

    标签: javascript php forms submit


    【解决方案1】:

    您在此处将$php_var 分配为空白。

    <?php $loops = "";?>
    
    <?php $php_var = $loops;?>
    

    所以,它没有显示任何价值。

    我认为您需要在文本框中获取用户输入的值。

    <input type="text" name="loops" value="<?php echo $loops;?>" id="loops"> // Observe the added `id` attribute.
    

    你可以这样做:

    <script>
    function myFunction() {
      //var js_var = "The number of packets sent is: <?php echo $php_var; ?>";
      var val = document.getElementById('loops').value;
      var js_var = "The number of packets sent is: " + val;
      alert(js_var);
    }
    </script>
    

    【讨论】:

    • 它不是从
    【解决方案2】:

    试试这个代码

     <form method ='post' action ="<?php echo $_SERVER['PHP_SELF'];?>">
    
              $loops = isset($_POST["loops"])?$_POST["loops"]:"";
    
             <b> <p>Number of packets to be sent:</p>
            <input type="text" name="loops" value="<?php echo $loops;?>">
            <br><br></b>
    
           <?php
           $php_var = $loops;?>
    
    
           <p style="text-align: center;">
             <button onclick="myFunction()">Submit</button></p><br>  
            <script>
    function myFunction() {
            var js_var = "The number of packets sent is: <?php echo $php_var; ?>";
                    alert(js_var);
                        }
            </script>
         </font>
           </form>
    
    
          <?php
        if($_SERVER["REQUEST_METHOD"]== "POST"){
          if(isset($_POST["loops"])){
             $loops=$_REQUEST['loops'];
        }
     ?> 
    

    【讨论】:

      【解决方案3】:

      您应该始终在页面的开头使用 PHP。它是必需的,以便您可以获取 HTML 中可用的变量。

          <form method ='post' action ="<?php echo $_SERVER['PHP_SELF']; ?>">
      
          <?php $loops = ''; ?>
          <?php if ($_SERVER["REQUEST_METHOD"] == "POST") {
                  if (isset($_POST["loops"])) {
                      $loops = $_REQUEST['loops'];
                  }
              }
              ?>
              <b>
                  <p>Number of packets to be sent:</p>
                  <input type="text" name="loops" value="<?php echo $loops; ?>">
                  <br><br>
              </b>
              <?php $php_var = $loops; ?>
              <p style="text-align: center;">
                  <button onclick="myFunction()">Submit</button>
              </p>
              <br>  
              <script>
                  function myFunction() {
                      var js_var = "The number of packets sent is: <?php echo $php_var; ?>";
                      alert(js_var);
                  }
              </script>
      </form>
      

      【讨论】:

        【解决方案4】:

        你应该检查$loop变量初始化后是否有任何$_REQUEST['loops']

        所以代码应该是

        <?php
            $loops = "";
        
            if($_SERVER["REQUEST_METHOD"]== "POST"){
                if(isset($_POST["loops"])){
                    $loops=$_REQUEST['loops'];
                }
            }
        ?>
        
        <form method ='post' action ="<?php echo $_SERVER['PHP_SELF'];?>">
        
        <b> <p>Number of packets to be sent:</p>
        <input type="text" name="loops" value="<?php echo $loops;?>">
        <br><br></b>
        
        <?php
        $php_var = $loops;?>
        
        
        <p style="text-align: center;">
        <button onclick="myFunction()">Submit</button></p><br>  
        <script>
            function myFunction() {
                    var js_var = "The number of packets sent is: <?php echo $php_var; ?>";
                            alert(js_var);
                                }
        </script>
        </font>
        </form>
        

        【讨论】:

          【解决方案5】:

          试试看

          <?php $loops = "123";?>
              function myFunction() {
                var js_var = "The number of packets sent is: <?php echo $php_var; ?> ";
                alert(js_var);
              }
          

          【讨论】:

          • 这无论如何都不会显示警报。
          猜你喜欢
          • 2021-10-19
          • 1970-01-01
          • 1970-01-01
          • 2020-09-04
          • 1970-01-01
          • 1970-01-01
          • 2012-11-05
          • 1970-01-01
          • 2016-06-03
          相关资源
          最近更新 更多