Я пытался удалить из массива значение без успеха, я пытаюсь редактировать значения из файла CSV. Когда я нажимаю кнопку «Редактировать», он должен открыть значения, которые он загружает локально, и повторно сохранить массив с новым значением. Моя проблема в том, что все значения добавляются дважды вместе с новым значением редактирования.Невозможно удалить значение из массива
Это моя функция редактирования
class edit extends index{
public function GET(){
$Remail = ($_REQUEST['email']);
$filename = 'testfile.csv';
$lines = file($filename);
foreach($lines as $info) {
$CSVString = explode(',', $info);
$this->email = trim(explode("=", $CSVString[0])[1]);
if ($Remail === $this->email){
$this->Fname = trim(explode("=", $CSVString[1])[1]);
$this->Lname = trim(explode("=", $CSVString[2])[1]);
unset($CSVString[0]);
}
$this->person = array('Email'=>$this->email,'FirstName' =>$this- >Fname, 'LastName' =>$this->Lname);
$this->save($this->person);
}
echo '<form action="index.php?page=adduser" method="POST">
<label for="email">Email:</label></br>
<input type="text" name="Email" value="' . $Remail . '"></br>
<label for="fname">First Name:</label></br>
<input type="text" name="Fname" value="' . $this->Fname . '"></br>
<label for="lname">Last Name:</label></br>
<input type="text" name="Lname" value="' . $this->Lname . '"></br>
<input type="submit">
</form>';
}
это моя функция сохранения
public function save($arr){
$filename = 'testfile.csv';
$myfile = fopen($filename, "a+") or die("Unable to open file!");
foreach($arr as $key => $value){
$new [] = $key.'='.$value;
$final = implode(",", $new);
}
fwrite($myfile, $final.PHP_EOL);
fclose($myfile);
}
И это AddUser, что форма вызова
class adduser extends index {
public function GET(){
include('add.html');
}
public function POST($Fname, $Lname, $Email){
$this->Fname = $Fname;
$this->Lname = $Lname;
$this->Email = $Email;
$this->person = array('Email'=>$this->Email,'FirstName' =>$this->Fname, 'LastName' =>$this->Lname);
$this->save($this->person);
Профессор хотел, чтобы мы начали с файлов CSV, позже мы перешли в mysql. И im gettig эта ошибка Предупреждение: отсутствует аргумент 4 для edit :: POST(), вызванный в /var/www/html/index.php в строке 19 и определенный в /var/www/html/controllers/edit.php on строка 6 Примечание: Неопределенный индекс: электронная почта в /var/www/html/controllers/edit.php on line 38 Примечание: Неопределенное свойство: edit :: $ Fname в/var/www/html/controllers/edit. php on line 63 Примечание: Неопределенное свойство: edit :: $ Lname в /var/www/html/controllers/edit.php в строке 65 Email: – Royce
Вы неправильно вызываете мою функцию. Это требует 4 аргументов, как говорит ваша ошибка. Моя функция ожидает, что первым аргументом будет '$ _POST ['oldemail']'. Остальные три: '$ _POST ['fname']', '$ _POST ['lname']', '$ _POST ['email']'. Я думал, что это будет ясно из префиксов 'p_' моих переменных. Мой код также не ссылается на свойства '$ this-> Fname' или' $ this-> Lname'. Если вы получаете ошибки относительно этих свойств, которые мой код не использует, ваша ошибка в другом месте кода, который вы еще не показали нам. – Ultimater
Получил эту часть работы, теперь моя последняя часть удаляет пользователя. на основе параметра электронной почты. Я заметил, что мой сервер не поддерживает методы DELETE или PUT только GET и POST. Мне нужно добавить кнопку удаления в форме редактирования. – Royce