嘿,伙计们,现在我在自学PHP,但遇到了一个非常令人困惑的问题。在运行另一个文件时,如果在单独的文件中包含此代码,则会出现以下错误。
警告:C:\xampp\htdocs\MirrorTrade\classes\signup中未定义的数组键“first\u name”。php第26行警告:C:\xampp\htdocs\MirrorTrade\classes\signup中未定义的数组键“last\u name”。php第27行警告:C:\xampp\htdocs\MirrorTrade\classes\signup中未定义的数组键“email”。php第28行警告:C:\xampp\htdocs\MirrorTrade\classes\signup中未html" target="_blank">定义的数组键“password”。php第29行致命错误:未捕获错误:调用C:\xampp\htdocs\MirrorTrade\classes\signup中未定义的函数create\u userid()。php:32堆栈跟踪:#0 C:\xampp\htdocs\MirrorTrade\classes\signup。php(17):注册-
这是我遇到问题的代码
<?php
class Signup
{
private $error = "";
public function evaluate($data)
{
foreach ($data as $key => $value)
{
if(empty($value))
{
$this->error = $this->error . $key . " is empty!<br>";
}
}
if($this->error == "")
{
$this->create_user($data);
}
else
{
return $this->error;
}
}
public function create_user($data)
{
$firstname = $data['first_name'];
$lastname = $data['last_name'];
$email = $data['email'];
$password = $data['password'];
$url_address = strtolower($firstname) . "." . strtolower($lastname);
$userid = create_userid();
$query = "insert into
users
(userid,first_name,last_name,email,password,url_address)
values
('$userid','$first_name','$last_name','$email','$password','$url_address')";
return $query;
}
private function create_userid()
{
$length = rand(4,19);
$number = "";
for ($i=0; $i < $length; $i++)
{
$new_rand = rand(0,9);
$number = $number . $new_rand;
}
return $number;
}
}
当引用同一类中的另一个方法时,需要在其前面加上$this
。所以这个代码:
$userid = create_userid();
应该是:
$userid = $this->create_userid();
还要注意,您的代码容易受到SQL注入攻击。不要使用字符串连接构建查询,而是始终使用带绑定参数的准备语句。有关一些好的例子,请参阅本页和本文。
并且永远不要存储纯文本密码。而是使用password_hash()
和password_verify()
。
问题内容: 我正在测试php 7,并遇到此错误: 致命错误:未捕获错误:调用未定义函数odbc_connect() 从文档页面:http : //php.net/manual/en/function.odbc- connect.php php 7未列为受支持。 有谁有办法解决这个问题或何时会支持它? 谢谢@ 问题答案: DOC页面上确实列出了PHP 7,因此只需安装php-odbc,您就可以使用了
问题内容: 当我要实现Authorize.net付款网关时。但是,我收到此错误: 调用未定义的函数curl_init() 请让我知道其中有什么问题。 问题答案: 如果您使用的是Windows: 转到您的php.ini文件,并从以下行的开头删除标记: 保存文件后, 必须 重新启动HTTP服务器软件(例如Apache),然后才能生效。 对于Ubuntu 13.0及更高版本,只需使用已解包的软件包。在终
问题内容: 我刚刚将脚本切换到其他服务器。在以前的服务器上,它可以完美地工作,现在,我将它们切换到其他服务器上,我无法理解问题。 我不确定是否有帮助,但这是相关的代码。 PHP版本是:PHP 5.3.2 问题答案: 从文档开始,在PHP 5.4.0发行之前: 仅当PHP作为Apache模块安装时才支持此功能。 PHP 5.4.0和更高版本无条件支持此功能。 所述文档还包括替换功能,这些功能通过逐步
我正在OSX El Capitan和Apache服务器上运行最新版本的PHP(目前为5.6.22)。 我正在尝试使用PostgreSQL数据库,实际上,昨天已经成功了,但在我重写了httpd之后。conf文件和默认文件(我想这就是问题所在)我收到了以下消息: 调用中未定义的函数pg_connect()。。。 问题是我没有改变php。ini文件。如果我运行phpinfo();我得到了etc/php。
定义函数 在JavaScript中,定义函数的方式如下: function abs(x) { if (x >= 0) { return x; } else { return -x; } } 上述abs()函数的定义如下: function指出这是一个函数定义; abs是函数的名称; (x)括号内列出函数的参数,多个参数以,分隔; { ...
问题内容: 我正在尝试通过本地主机访问我的Gmail帐户。但是,我得到的答复: 致命错误:调用未定义的函数imap_open() 这是我的代码: 问题答案: 很简单,在您的PHP安装中未激活IMAP扩展。默认情况下未启用它。如果本地安装在Windows上运行XAMPP,则必须按照XAMPP FAQ 中的说明启用它: IMAP对PHP的支持在哪里? 默认情况下,由于一些家庭版本(例如Windows