0

私はこれを友人のために機能させましたが、彼はプロバイダーを変更しましたが、私が行ったすべてのテストから何も機能しません。送信ボタンはデータをphpファイルに渡す必要がありますが、phpファイルを実行すると何も取得されません。

これは、html ファイルの 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 ファイルはそれらの値を取得していましたが、現在は何も取得されません。

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は同じサイトの連絡先フォームで適切に機能するので、問題はありません.htmlフォームからphpにデータを取得しているようです.このファイルにたどり着く前に送信ボタンを押してください。

誰でも助けてもらえますか?ありがとうございました

4

3 に答える 3

0

送信として画像を使用しています (非表示のボタンではありません)。したがって、画像入力の名前を「送信」に変更すると、機能するはずです。

<input type="image" name="submit" value="Enviar Lista por Email" ........

これを使用している場合は<input type="image" ....、代替の送信ボタンとして機能します。したがって、隠しボタンを取り除き、画像入力の名前を「送信」に変更できます。

于 2013-09-06T12:53:06.743 に答える
0
<script type="text/javascript">
  var lista_mail = 'super';
</script>

<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="submit" name="submit" value="Enviar Lista por Email" src="imagens/lista_email.png" width="40" height="40"  `enter code here`onclick="this.form.elements['cf_message'].value =  `enter code here`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>

送信ボタンに画像を付けたい場合は、css で背景として指定します。type=image を submit に、 name='lista' を submit に変更しました $_post['submit'] の php をチェックインする投稿のように私はスクリプトタグでそれを定義しました

于 2013-09-06T13:23:41.417 に答える