在我的Wordpress注册表格中,我想返回$error
警报数组。
我尝试过console.log()
,但是它什么也不返回,无论是否有JSON.stringify()
,它都返回一个仅带有单词true
的警报。
if($_POST){
global $wpdb;
//check no space
// ﻧﺘﺤﻘﻖ ﻣﻦ ﻋﺪﻡ ﻭﺟﻮﺩ ﻣﺴﺎﻓﺎﺕ
$username = $wpdb -> escape($_POST['username']);
// اﻟﻤﺴﺘﺨﺪﻡ
$email = $wpdb -> escape($_POST['email']);
// اﻻﻳﻤﻴﻞ
$password = $wpdb -> escape($_POST['pass']);
//اﻟﺒﺎﺳﻮﻭﺭﺩ
$conpassword = $wpdb -> escape($_POST['passtwo']);
//ﺗﺄﻛﻴﺪ اﻟﺒﺎﺳﻮﻭﺭﺩ
$error = array(); // ﻟﺘﺨﺰﻳﻦ اﻟﺘﺤﺬﻳﺮاﺕ
// حالة السترينج
if(strpos($username," ") ==! false){ //true
$error['username_space']= " اسم المستخدم يجب الا يحتوي على فراغات " ;
}
// الحقل فارغ
if(empty($username)){
$error['username_empty'] = " الحقل لا يمكن أن يترك فارغ " ;
}
// التشابه
if(username_exists($username)){
$error['username_exis'] =" اسم المستخدم موجود بالفعل" ;
}
// الايميل غير صالح
if (!is_email($email)){
$error['email_notvalid'] =" البريد الالكتروني غير صالح " ;
}
// الايميل مستخدم
if(email_exists($email)){
$error['email_exis'] = "البريد الالكتروني مستخدم بالفعل";
}
// اثنان من السترينجز تتطابق ام لا
if(strcmp($password , $conpassword)!==0){
$error ['passnotmatch'] = "ﺣﻘﻠﻲ ﻛﻠﻤﺔ اﻟﺴﺮ ﻻ ﻳﺘﻄﺎﺑﻘﺎ ";
}
if(count($error)==0){
// انشاء مستخدم
wp_create_user($username,$password,$email);
echo"ﺗﻢ اﻟﺘﺴﺠﻴﻞ ﺑﻨﺠﺎﺡ ";
echo"<script> window.location = '".site_url()."/redafterreg/'</script>";
exit();
}else{
$errorprint = print_r($error);
$errorjs = json_encode($errorprint);
echo "<script> alert( JSON.stringify($errorjs)) </script>";
}
输出应为警报窗口中$error
数组内的字符串。
但它只会返回ture
,就像我之前提到的那样。感谢您的帮助。
答案 0 :(得分:0)
默认情况下,print_r()
返回true
。如果要返回字符串而不是该值,则需要为可选的默认参数$return
传递布尔值:print_r($error, true);