如何在PHP中接受像prompt()这样的用户输入?

2022-08-31 00:44:40

我怎样才能像在javascript中一样制作PHP输入?prompt('example prompt')

不像一种形式,像一个.prompt()


答案 1

解决方案#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"
}

答案 2

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

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

它接受用户输入并重新加载页面。然后,它与输入的内容相呼应。


推荐