я постоянно получаю эту ошибку для массива ошибок, которые я установил в методеЕогеаспа() Предупреждение об ошибке: Недействительный аргумент для Еогеаспа()
здесь код
public function showerrors() {
echo "<h3> ERRORS!!</h3>";
foreach ($this->errors as $key => $value)
{
echo $value;
}
}
я храню получение этого «Warning: Invalid аргумента, поставляемый для Еогеаспа()», когда я запустить программу я установить массив ошибок в конструкторе, как этот
$this->errors = array();
так им не совсем уверен, почему это обыкновение распечатайте ошибки!
public function validdata() {
if (!isset($this->email)) {
$this->errors[] = "email address is empty and is a required field";
}
if ($this->password1 !== $this->password2) {
$this->errors[] = "passwords are not equal ";
}
if (!isset($this->password1) || !isset($this->password2)) {
$this->errors[] = "password fields cannot be empty ";
}
if (!isset($this->firstname)) {
$this->errors[] = "firstname field is empty and is a required field";
}
if (!isset($this->secondname)) {
$this->errors[] = "second name field is empty and is a required field";
}
if (!isset($this->city)) {
$this->errors[] = "city field is empty and is a required field";
}
return count($this->errors) ? 0 : 1;
}
вот как я могу добавить данные в массив! спасибо за помощь тоже!
хорошо я добавил это к методу
public function showerrors() {
echo "<h3> ERRORS!!</h3>";
echo "<p>" . var_dump($this->errors) . "</p>";
foreach ($this->errors as $key => $value)
{
echo $value;
}
затем выводит на моей странице этого
ОШИБКИ !! строка (20) "недопустимая подача !!" если я ничего не набираю в свои текстовые поля, поэтому он говорит о своей строке?
вот мой конструктор тоже, сориош об этом im new to php!
public function __construct() {
$this->submit = isset($_GET['submit'])? 1 : 0;
$this->errors = array();
$this->firstname = $this->filter($_GET['firstname']);
$this->secondname = $this->filter($_GET['surname']);
$this->email = $this->filter($_GET['email']);
$this->password1 = $this->filter($_GET['password']);
$this->password2 = $this->filter($_GET['renter']);
$this->address1 = $this->filter($_GET['address1']);
$this->address2 = $this->filter($_GET['address2']);
$this->city = $this->filter($_GET['city']);
$this->country = $this->filter($_GET['country']);
$this->postcode = $this->filter($_GET['postcode']);
$this->token = $_GET['token'];
}
Опубликовать больше кода. Моя ставка заключается в том, что где-то вы пытаетесь добавить в '$ this-> errors', но случайно использовали' = 'вместо' [] = 'и закончили перезаписывать его скаляром ... –
Общей ошибкой, которую я иногда сделайте сам, когда я набираю слишком быстро, это '$ this-> errors = 'foo';' вместо '$ this-> errors [] = 'foo';'. Что касается этого кода, это не проблема. – netcoder
Проверьте с var_dump, что произошло перед foreach. –