Я пытаюсь сделать форму, которая прикрепляет файл. Я следовал за учебником, и он показывает эти три ошибки. Если кто-то может мне помочь и объяснить это, я буду очень рад
ps: если я отправлю электронное письмо без вложенного файла, письмо не будет доставлено в почтовый ящик.
Попытка получить доступ к смещению массива по значению типа null в /Applications/MAMP/htdocs/deneuve/index.php в строке 34
Неопределенный индекс: вложение в / Applications / MAMP / htdocs / deneuve / index. php в строке 40
Попытка получить доступ к смещению массива по значению типа null в /Applications/MAMP/htdocs/deneuve/index.php в строке 40
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
session_start();
$msg = "";
if(isset($_POST['submit'])){
require 'PHPMailer/src/Exception.php';
require 'PHPMailer/src/PHPMailer.php';
//require 'PHPMailer/src/SMTP.php';
function sendEmail($to, $from, $fromName, $body, $attachment){
$mail = new PHPMailer();
$mail->setFrom($from, $fromName);
$mail->addAdress($to);
$mail->addAttachment($attachment);
$mail->Subject = 'Contact Form - Email';
$mail->Body = $body;
$mail->isHTML(false);
return $mail-> send();
}
$name = $_POST['name'];
$email = $_POST['email'];
$body = $_POST['body'];
$file = $_POST['attachment'];
$file = "attachment/" . basename($_FILES['attachment']['name']);
echo '<pre>';
print_r($_FILES);
if(move_uploaded_file($_FILES['attachment']['tmp_name'], $file)){
if(sendEmail('******@gmail.com', $email, $name, $body, $file)){
$msg = 'email sent ! :D';}
else {$msg = 'email failed ! :(';}
} else{
$msg = "<p style='color:white;'>please check your attachment</p>";
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="styleform.css">
<title>Document</title>
</head>
<body>
<div id="content-form">
<form action="index.php" method="POST" entype="multipart/form-data">
<input type="text" name="name" id="name" placeholder="Name" required>
<input type="email" name="email" id="email" placeholder="Email" required>
<textarea name="body" id="body" cols="30" rows="10" placeholder="Send us a message" required></textarea>
<input type="file" name="attachment">
<button type="submit" value="Enviar Datos" name="submit">SUBMIT !</button>
</form>
<?php echo $msg; ?>
</div>
</body>
</html>