PHP:将属性值复制到另一个属性中

发布于 2024-11-17 04:33:49 字数 419 浏览 1 评论 0原文

以下是我的 XHTML 代码的片段:

<form action="test.php" method="post">
  <input type="text" name="selector01" value="<?php echo $_SESSION['x']; ?>" />
  <button>next</button>

  <input type="submit" value="Submit" />
<form>

单击按钮时将动态添加更多输入元素(使用 JavaScript)。 “name”的值将递增(即selector02、selector03 等)。

我想复制每个“name”属性的值并将其放入 $_SESSION 变量中。

Here's a snippet from my XHTML code:

<form action="test.php" method="post">
  <input type="text" name="selector01" value="<?php echo $_SESSION['x']; ?>" />
  <button>next</button>

  <input type="submit" value="Submit" />
<form>

More input elements will be added dynamically when the button is clicked (using javascript). The value of "name" will be incremented (ie. selector02, selector03, etc.).

I'd like to copy the value of each "name" attribute and put it into the $_SESSION variable.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

宁愿没拥抱 2024-11-24 04:33:49

如果您只需要名称以“selector”开头的输入字段,请使用:

foreach ( $_POST as $key => $value ) {
    if ( substr( $key, 0, 8 ) == 'selector' ) {
        $_SESSION[$key] = $value;
    }
}

如果您需要所有表单字段,请使用:

$_SESSION = $_POST;

按照 Neal 的建议。如果您使用第二种方法,您可能需要更多的验证来确保不会覆盖现有的会话密钥。

If you want only the input fields where the name starts with 'selector' use:

foreach ( $_POST as $key => $value ) {
    if ( substr( $key, 0, 8 ) == 'selector' ) {
        $_SESSION[$key] = $value;
    }
}

If you want all form fields, use:

$_SESSION = $_POST;

as Neal suggested. You may need a little more validation if you use the second method to ensure that you don't overwrite existing session keys.

長街聽風 2024-11-24 04:33:49

提交到 test.php

执行以下操作:

$_SESSION = $_POST; // if no validation is needed

On submit to test.php

do this:

$_SESSION = $_POST; // if no validation is needed
不必了 2024-11-24 04:33:49

听起来您实际上并没有为每次按下按钮提交表单,只是动态添加新字段。如果是这种情况,那么您无法直接从 Javascript 操作 PHP 变量。 JS是客户端,PHP是服务器端。

It sounds like you're not actually submitting the form for each button press, just dynamically adding new fields. If this is the case, then you can't directly manipulate a PHP variable from Javascript. JS is client side, PHP is serverside.

奢望 2024-11-24 04:33:49

您可以迭代您所引用的全局方法,然后只需添加结果:

foreach($_POST as $item => $value)
{
    if(strpos($item, 'selector') === 0) $_SESSION[$item] = $value;
}

You'd iterate through whichever method global you're referring to, and then you'd simply add the result:

foreach($_POST as $item => $value)
{
    if(strpos($item, 'selector') === 0) $_SESSION[$item] = $value;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文