首页 文章

在php中的会话变量中输入字段值

提问于
浏览
1

我们可以在会话变量中使用输入类型值而无需任何表单提交

就像有一个输入字段现在我想在$ _session ['anyname']中保存上面的输入字段值;当页面中没有表格时 .

3 回答

  • 1

    我想你最好的办法是设置一个单独的PHP脚本,通过Javascript调用查询字符串( ajax.php?key=value )中的输入字段信息,并将该信息存储到 $_SESSION 变量中 .

    PHP可能看起来像这样:

    session_start();
    foreach ($_GET as $key => $value)
       $_SESSION[$key] = $value;
    
  • 0

    使用jQuery和PHP

    HTML:

    <input type="text" id="autosend" />
    

    JavaScript

    $(function(){
       $('#autosend').blur(function(){
           $.post('receiver.php',{fieldval:$(this).val()},function(response){
              alert(response);
           });
       })
    })
    

    PHP

    $_SESSION["somename"] = $_POST["fieldval"];
    echo $_SESSION["somename"];
    

    现在,只要输入字段失去焦点,会话变量将使用当前值更新 .

  • 0

    在set.php中:

    <?php
    
    session_start();
    $_SESSION['value'] = $_POST['value'];
    
    ?>
    

    在非表单形式page.php中:

    <?php session_start() ?>
    <html>
    <head>
    <script type="text/javascript"
      src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script type="text/javascript">
    function setVal()
    {
      var val = jQuery('#value').val()
      alert('Setting the value to "' + val + '"')
      jQuery.post('set.php', {value: val})
      alert('Finished setting the value')
    }
    jQuery(document).ready(function() {
      setTimeout('setVal()', 3000)
    })
    </head>
    <body>
    
    <form>
    <input id="value" type="text" name="value" value="value">
    <input id="value2" type="text" name="value2" value="value2">
    </form>
    
    </body>
    </html>
    

    这将记录该值(延迟3秒后)

    在test.php中测试它:

    <?php
    
    session_start();
    echo '<pre>';
    echo htmlentities(var_export($_SESSION, true));
    echo '</pre>';
    
    ?>
    

    现在它在你的会话中没有提交表格

相关问题