【问题标题】:How to take user input like prompt() but in PHP?如何在 PHP 中接受像 prompt() 这样的用户输入?
【发布时间】:2014-04-12 05:25:36
【问题描述】:

如何在 javascript 中制作像 prompt('example prompt') 这样的 PHP 输入?

不像表格,像prompt()

【问题讨论】:

  • 不可能。 PHP 是一种服务器端语言,不能在客户端机器上弹出窗口。您需要使用客户端 Javascript。
  • 使用PHP CLI。您不会得到花哨的弹出窗口,但它可以从命令行获取用户输入。如果你说的是 apache/web,那么不,没有这样的事情。
  • Same question,实际上是为 PHP CLI 回答的

标签: php text input


【解决方案1】:

您不能在 php 执行过程中接受输入,因为它在页面实际显示给用户之前完成。但是,您可以使用 HTML 获取输入并使用 php 接收。这是一个非常基本的示例:

<?php
    echo $_POST['value'];
?>
<form method="post" action="">
<input type="text" name="value">
<input type="submit">
</form>

它接受用户输入并重新加载页面。然后,它会回显输入的内容。

【讨论】:

  • 好吧,对不起,我以为你能做到。有人知道如何将 JavaScript 变量中的数据转换为 PHP 变量吗?
  • 您遇到的问题基本相同。您需要刷新页面并以与我的回答类似的方法发送 JavaScript 变量。
  • 这是一个关于 SO 的问题,有多种解决方案作为答案:stackoverflow.com/questions/133925/…
  • @emileb 我是最差的 PHP 编码员,但我没有收到那个帖子。
  • 第一个 answer 为您提供了一个 javascript 方法,该方法将需要您的数据(在 $_POST var 中)的 PHP 脚本的 url 参数作为参数,这是您要发送的数据的关联数组到 php(和可选方法 GET 或 POST)。该方法将为您完成剩下的工作,您只需处理已发布在您的 php 脚本中的数据。
【解决方案2】:

解决方案 #1:在任何代码中提示获取输入:

<?php
echo "What do you want to input? ";
$input = rtrim(fgets(STDIN));
echo "I got it:\n" . $input;

示例输出:

# php test.php
What do you want to input? Hello, I'm here!
I got it:
Hello, I'm here!

解决方案#2:如果你想在运行 php 时首先内联输入:

<?php
$input = $argv[1];
echo "I got it:\n" . $input;

示例输出:

# php test.php "Hello, I'm here!"
I got it:
Hello, I'm here!

额外提示:

如果你想集成 CLI 和 WEB 输入,你可以使用这个神奇的代码:

<?php
if (PHP_SAPI === 'cli') parse_str(implode('&', array_slice($argv, 1)), $_GET);
var_dump($_GET);

现在写在 CLI 下使用:

# php sample.php user=nabikaz website=nabi.ir

并遵循 WEB 的正常程序:

http://localhost/sample.php?user=nabikaz&website=nabi.ir

没有定义输入的数量和名称。
两者的结果相同。 ;-)

array(2) {
  ["user"]=>
  string(7) "nabikaz"
  ["website"]=>
  string(7) "nabi.ir"
}

【讨论】:

    【解决方案3】:

    在 php 中您最好使用表单作为输入,但是如果您愿意,您可以使用 java 脚本输入和警报来读取和显示如下。

    echo "<script>input=prompt('Enter your name !'); alert(input);</script>";
    

    【讨论】:

    • 你没有改变任何东西,却加了一个减号???这是我的代码。
    猜你喜欢
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多