我有一个将数据提交到php脚本的表单。以下是脚本中的一些代码。
foreach ($newuser_values as $key => $value) {
echo $key;
echo $value;
switch ($key) {
case "show_name":
echo "1";
switch ($value) {
case "first":
$update_val = $current_user->user_firstname;
break;
case "first_initial":
echo "HI";
$update_val = $current_user->user_firstname . " " . substr($current_user->user_lastname,0,0) . ".";
break;
case "first_last":
$update_val = $current_user->user_firstname . " " . $current_user->user_lastname;
break;
default:
echo "HELLO";
$update_val = $user_identity;
}
echo $update_val;
update_user_meta($user_ID, $show_name, $update_val);
echo get_user_meta($user_ID, $show_name);
...
}
}
$ newuser_values是一个表单信息数组。我明白这样:
$newuser_values = $_POST['edit-profile'];
我这里有两个问题。它们都可以从脚本输出的开头看到(来自echo语句)。脚本输出为:
show_namefirst_intital1HELLOtestuser1Array
问题1:正如您所看到的,脚本打印出一个1表示它正在进入标题为" show_name" $ key上的开关。但是,它没有进入名为" first_intial" $ value的开关。这是为什么?
问题2:无论如何,脚本在$ value上输入开关的默认情况并打印HELLO。然后,它打印$ update_val,它是testuser1。但是,该值未分配给user_meta,因为它正在打印"数组"。这是为什么?
提前致谢。如果这些问题过于简单,我道歉。我对wordpress和web开发都很陌生。
答案 0 :(得分:0)
您的第一个问题的原因似乎是拼写错误。您写道,您的脚本打印
show_namefirst_intital1HELLOtestuser1Array
所以看起来有一个拼写错误,因为当您检查切换案例时,$ value的值是“ first_intital ”而不是“ first_initial ”。
答案 1 :(得分:0)
没关系,我想出了第二个问题。
而不是:
update_user_meta($user_ID, $show_name, $update_val);
应该是这样的:
update_user_meta($user_ID, "show_name", $update_val);