【问题标题】:Getting php variable from text field从文本字段中获取 php 变量
【发布时间】:2026-02-01 15:45:01
【问题描述】:

我无法从文本字段中获取名称作为 php 变量来拆分为名字和姓氏。

这是我的代码:

<form action="split.php" metod="POST">
<input type="text" id="pcategory" name="fullname" value="Jason Bill">
<?php
if(isset($_POST['fullname'])){
$name = $_POST['fullname'];
} 
echo $name;
$parts = explode(" ", $name);
$lastname = array_pop($parts);
$firstname = implode(" ", $parts);
echo "Lastname: $lastname\n";
echo "Firstname: $firstname\n";
?>
</form>

我收到以下错误:

注意:未定义变量:第 9 行 C:\xampp\htdocs\ordinacija\split.php 中的名称 注意:未定义变量:第 11 行 C:\xampp\htdocs\ordinacija\split.php 中的名称

【问题讨论】:

  • 您需要添加代码或向我们展示一些东西。您有一个用户正在输入姓名的 input 字段,并且您想要拆分名字和姓氏?
  • 如果您想从文本字段中获取值而不重新加载,您应该使用 Javascript。

标签: php variables split textfield


【解决方案1】:

您没有在第一次加载此页面时定义 $_POST['fullname'],所以这就是您收到通知的原因。

if ( isset($_POST['fullname']) )块中添加所有逻辑:

<!-- Ensure you're submitting the page to itself. This code here should be in 'split.php' -->
<form action="split.php" metod="POST">
<input type="text" id="pcategory" name="fullname" value="Jason Bill">
<?php
if( isset($_POST['fullname']) ) {
  $name      = $_POST['fullname'];
  $parts     = explode(" ", $name);
  $lastname  = array_pop($parts);
  $firstname = implode(" ", $parts);

  echo "$name\n";
  echo "Lastname: $lastname\n";
  echo "Firstname: $firstname\n";
} else {
  echo 'No name has been submitted yet';
}
?>
<input type="submit" value="Get full name" />
</form>

【讨论】: