如何根据HTML更改PHP变量

问题描述 投票:0回答:3

我目前正在使用PHP和HTML进行自动签名。

变量'layout'是我要更改的变量。它包含HTML签名的结构(背景,徽标,结构)。

$layout = file_get_contents('./SIG/SAELEN.html', FILE_USE_INCLUDE_PATH);
$layout1 = file_get_contents('./SIG/GUIL.html', FILE_USE_INCLUDE_PATH);

结构应该改变,取决于此:

<select class="form-control" id="sel1" id="Name" name="Sender[department]">
   <option value="1">Choix1</option>
   <option value="2">Choix2</option>
   <option value="3">Choix3</option>
   <option value="4">Choix4</option>
   <option value="5">Choix5</option>
   <option value="6">Choix6</option>
</select>

我希望根据用户选择来更改$layout值,而不必刷新页面。

感谢您抽出宝贵的时间阅读,很期待听到您的建议。

php
3个回答
1
投票

我们无法从javascript更改PHP变量。 php是后端和js是前端。

解决方案是在用户更改选择输入时都调用ajax调用

您可以将两个布局都存储在两个js变量中,并在用户更改选择输入时使用它们


1
投票

没有刷新页面就无法更改php变量的可能性。但是根据您的要求,您可以使用技术来实现您的目标。我建议使用ajax调用以下解决方案。

index.php

 <?php?>
<!DOCTYPE html>
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
        <script>
            $(document).ready(function(){
            $('#sel1').change(function(){
                var getValue = $(this).val();
               // alert(getValue);
                //Ajax call
                $.post('do.php', { selectedValue: getValue }, function(data){
                    //alert('check response value:  '+data);
                });
            });
        });
        </script>
    </head>
<body>
    <select class="form-control" id="sel1" id="Name" name="Sender[department]">
       <option value="1">Choix1</option>
       <option value="2">Choix2</option>
       <option value="3">Choix3</option>
       <option value="4">Choix4</option>
       <option value="5">Choix5</option>
       <option value="6">Choix6</option>
    </select>

</body>
</html>

do.php

<?php
// get posted value
if ($_POST['selectedValue']){ 
     //echo "posted--". $_POST['selectedValue'];
    // do your logic here
    //$layout = file_get_contents('./SIG/SAELEN.html', FILE_USE_INCLUDE_PATH);
    //$layout1 = file_get_contents('./SIG/GUIL.html', FILE_USE_INCLUDE_PATH);
}
?>

我希望您可以通过这种方式获得想法。


0
投票
   $layout = file_get_contents('./SIG/1.html', FILE_USE_INCLUDE_PATH);


 $layout1 = file_get_contents('./SIG/2.html', FILE_USE_INCLUDE_PATH);
   $layout2 = file_get_contents('./SIG/3.html', FILE_USE_INCLUDE_PATH);
   $layout3 = file_get_contents('./SIG/4.html', FILE_USE_INCLUDE_PATH);


if(isset($_POST['select']))

{
    if($_POST['select'] == 'value2')
    {
        $layout = $layout1;

    }
    if($_POST['select'] == 'value3') {
    $layout = $layout2;
    }

    if($_POST['select'] == 'value4') {
    $layout = $layout3;
                                     } 

}

© www.soinside.com 2019 - 2024. All rights reserved.