친구에게이 작업을 수행 한 다음 공급자를 변경했지만 지금까지 수행 한 모든 테스트에서 아무 것도 작동하지 않습니다. 제출 단추는 데이터를 PHP 파일에 전달해야합니다 ,하지만 php 파일이 실행되면 아무것도 얻지 못합니다. 지금, 아무것도 전에PHP 파일에 FORM 데이터를 전달할 수 없습니다.
<form id="lista" action="lista.php" method="post">
<input name="cf_name" type="text" size="50" hidden="yes" class="obscure">
<input name="cf_email" type="text" size="50" hidden="yes" class="obscure">
<textarea name="cf_message" cols="45" rows="10" hidden="yes" class="obscure"></textarea>
<input type="image" name="lista" value="Enviar Lista por Email" src="imagens/lista_email.png" width="40" height="40" onclick="this.form.elements['cf_message'].value = lista_mail;this.form.elements['cf_name'].value = prompt('Escreva o seu nome:', '');this.form.elements['cf_email'].value = prompt('Escreva o seu email:', '');">
<input name="submit" type="submit" value="Enviar" hidden="yes" class="obscure">
</form>
, 그가 제출 클릭하면, 팝업은 이름과 이메일을 요청 나타나고, PHP 파일은 그 값을 얻을 것입니다 :
이
는 HTML 파일의 양식 코드입니다 거기 도착. 여기 는 PHP 파일입니다 : 그래서,<?php
if (isset($_POST['submit'])) {
$smtpinfo['host'] = 'localhost';
$smtpinfo['port'] = '25';
$smtpinfo['auth'] = true;
$smtpinfo['username'] = 'xxx';
$smtpinfo['password'] = 'xxx';
$nome = $_POST['cf_name'];
$email = $_POST['cf_email'];
$mensagem = $_POST['cf_message'];
require_once "Mail.php";
$body = "Nome: ".$nome;
$body.= "\n";
$body.= nl2br($mensagem);
$headers = array ('From' => $email,
'To' => $smtpinfo["username"],
'Subject' => 'Encomenda Website');
$mail_object = Mail::factory('smtp', $smtpinfo);
$mail = $mail_object->send($smtpinfo["username"], $headers, $body);
if (PEAR::isError($mail)) {
echo ("<p>" . $mail->getMessage() . "</p>");
} else {
echo ('<b><font color="FFFF00">Mensagem enviada com sucesso para </b>' . $email . '<br><br></font>');
}}
?>
이 PHP가 동일한 사이트에있는 문의 양식에 제대로 작동 괜찮아, 문제는, PHP로 HTML 양식에서 데이터를 그 때문에 결코 얻을 것으로 보인다 "POST POST 제출이 설정되어있는 경우"를 전달합니다. 이유를 모릅니다.이 파일에 도착하기 전에 제출 버튼을 누르기 때문입니다.
아무도 도와 줄 수 있습니까? 고맙습니다.
'$ _POST' 배열을 덤프 해 보셨습니까? 또한 공급자를 변경 했으므로 간단한 PHP 스크립트를 실행하고 PHP가 적절하게 설정되었는지 확인할 수 있습니까? – dethtron5000
PHP 파일의 이름이 여전히 동일합니까? 나는 아직도 lista.php를 의미합니까? – Freelancer
양식에 이름 속성을 부여하고 이름에 isset을 사용하려고 시도 했습니까? 또한 제출 버튼에 hidden = true 속성이있는 이유는 무엇입니까? 나는 숨겨진 것이 사실이라고 생각하지 않는다. – briosheje