• 締切済み

mb_send_mailの受信メールが一部反映されません、どなたか教えて頂ければ助かります。

フォーム入力→確認画面→メールソフトに送信→送信完了画面を作成したのですが、フォームの内容は確認画面に反映され、メールソフトに送信できます。しかし、メールソフト送られてくる性別が全て女性になり、セレクトタグで選んだ項目が、メールソフトには何も表示されてません。どなたか知恵を貸していただければたすかります。PHPを習い始めてまだ、3ヶ月ほどです。 if(!isset($PHP_SELF)){ $PHP_SELF = $_SERVER["PHP_SELF"]; } if(!isset($action)){ $action = $_REQUEST['action']; } if(!isset($namae)){ $namae = $_REQUEST['namae']; if( get_magic_quotes_gpc() ) { $namae = stripslashes("$namae"); } $namae = htmlspecialchars ($namae); } if(!isset($old)){ $old = $_REQUEST['old']; if( get_magic_quotes_gpc() ) { $old = stripslashes("$old"); } $old = htmlspecialchars ($old); } if(!isset($sei)){ $sei = $_REQUEST['sei']; if($sei= ="m"){ $sei="男性"; }else{ $sei="女性"; } 一部省略 $pc_str=array("ooから","ooから","ooから","ooから","ooりから","oo","ooから","その他"); if(!isset($pc)){ $pc = $_REQUEST['pc']; $pc_mozi=$pc_str[$pc]; } --------------------------------------------------------------- <body> <?php if($action = = "post"){ if($_REQUEST["namae"] && $_REQUEST["mail"] && $_REQUEST["mail2"] && $_REQUEST["mail"]==$_REQUEST["mail2"]){ print ("内容(下記の内容でよいろしいですか)<br><br>\n"); print ("<form action=\"$PHP_SELF\" method=\"post\">\n"); print ("<input type=\"hidden\" name=\"action\" value=\"send\">\n"); print ("名前:$namae<br><br>\n"); print ("<input type=\"hidden\" name=\"namae\" value=\"$namae\">\n"); print ("E-mail:$mail<br><br>\n"); print ("<input type=\"hidden\" name=\"mail\" value=\"$mail\">\n"); print ("E-mail2 : $mail2<br><br>\n"); print ("<input type=\"hidden\" name=\"mail2\" value=\"$mail2\">\n"); if($sei){ print ("性別 : $sei<br><br>\n"); print ("<input type=\"hidden\" name=\"sei\" value=\"$sei\">\n"); } 一部省省略してます。 if($pc_mozi){ print ("きっかけ : $pc_mozi<br><br>\n"); print ("<input type=\"hidden\" name=\"pc_mozi\" value=\"$pc_mozi\">\n"); } print ("<input type=\"submit\" name=\"submit\" value=\"送信\"></from>\n"); print ("\n"); }else{print ("必須項目が未入力、もしくは確認用メールが不一致です。再度入力お願い致します。<br><br>\n"); print ("<a href=\"javascript:history.back()\">戻って修正する</a>"); } }elseif($action = = "send"){ mb_language("ja"); mb_internal_encoding("SJIS"); $header="Content-Type: text/plain;charset=ISO-2022-JP"; $header.='From: oo@oo.jp'; $header.='Reply-To:oo@oo.jp'; $header.='X-Mailer: PHP/' . phpversion(); $to="oo@oo.jp"; $sub="問い合わせ内容"; $message = "お名前=".$namae."\n"; $message.="性別=".$sei."\n";●すべて女性になってます。 (一部省略してます) $$message.="きっかけ=".$pc_mozi."\n";●この中身が反映されません $message.= "質問=".$msg."\n"; if(mb_send_mail($to,$sub,$message,$header)){ print "送信完了しました。"; ・・・こんな感じです

  • PHP
  • 回答数2
  • ありがとう数0

みんなの回答

  • mpx
  • ベストアンサー率71% (149/209)
回答No.2

>> メールソフト送られてくる性別が全て女性になり、・・・ 確認画面にて >> if($sei){ >> print ("性別 : $sei<br><br>\n"); >> print ("<input type=\"hidden\" name=\"sei\" value=\"$sei\">\n"); 上記より、(推測ですが、)$sei="男性"(または女性)なのでしょうが、その受け側では >> if($sei=="m"){ >> $sei="男性"; >> }else{ >> $sei="女性"; "m"かどうかで判定しています。これでは、全てfalseでしょうから 結果は 女性になってしまうのでは? 受け側のスクリプトのトップで print_r($_REQUEST); を事項して所望のデータを正しく受けているか確認してみては如何でしょう

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.1

ソースを見る限りでは動かなそうですが・・ >フォーム入力→確認画面→メールソフトに送信→送信完了画面 どの段階まで正常なのでしょうか? メールでのみの不具合ということなら //mb_send_mail($to,$sub,$message,$header) echo $message; exit; としてデバッグしてみては? メール送信から受信までの間に 男性から女性に変換されるようなことはないと思います。

関連するQ&A

  • メールフォーム

    #!/usr/bin/perl use CGI; $cgi = new CGI(); $from = $cgi->param('from'); $namae = $cgi->param('namae'); $naiyou = $cgi->param('naiyou'); print "Content-type: text/html\n\n"; # 設定 $sendmail = '/usr/lib/sendmail'; $to = '*********@*****************'; #$from = ''; $subject ='************'; # メール送信 open(MAIL,"| $sendmail -t"); # ヘッダ情報出力 print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $subject\n\n"; # 本文出力 print MAIL " $namae\n\n"; print MAIL " $naiyou\n"; close(MAIL); #確認表示 print " $namae<br><br>"; print " $naiyou<br><br>"; print "メールを送信しました<br>"; exit HTMLで<textarea rows="6" cols="60" wrap="hard" required name="naiyou"> としたのですが Perlで確認表示の$naiyouの所が英語も日本語は改行されません。

    • ベストアンサー
    • Perl
  • mb_send_mailについて

    こんにちは。現在phpの勉強中で、まだローカルテスト環境でしか動かしたことのない者です。今回もローカルテスト環境なんですが、いずれアンケートフォームのようなものを作りたくて、ある書籍を参考に、自分宛にメールを送ろうとしました。 コードの内容は、最初に表示する画面の「mail_input.php」が、 <html> <head> <title>メール送信</title> </head> <body> <h1 style="background:#cccccc"> メール送信</h1> <form method="POST" action="sendmail.php"> <input type="hidden" name="_email" value="ここに自分のメールアドレスを入れました" /> <input type="hidden" name="_subject" value="自分宛てメール" /> <input type="hidden" name="_result" value="<?php print($_SERVER['PHP_SELF']);?>" /> <table border="0"> <tr> <th align="right">名前:</th> <td><input type="text" name="name" size="20" maxlength="30" /></td> </tr><tr> <th align="right">E-Mail:</th> <td><input type="text" name="_from" size="50" maxlength="255" /></td> </tr><tr> <th align="right" valign="top">自由記入欄:</th> <td><textarea name="memo" cols="50" rows="5"></textarea></td> </tr> </table> <input type="submit" value="送信" /> <input type="reset" value="クリア" /> </form> </body> </html> で、メールを送るプログラムの「sendmail.php」が、 <?php $header_info="From: ".$_POST['_from']."\nContent-Type: text/plain;charset=ISO-2022-JP\nX-Mailer: PHP/".phpversion(); $body="■■".$_POST['_subject']."■■\n\n"; foreach($_POST as $key=>$value){ if(!strstr($key,"_")){ $body.="[".$key."]".$value."\r\n"; } } $kekka=mb_send_mail($_POST['_email'],$_POST['_subject'],$body,$header_info); if($kekka){ header("Location: ".$_POST['_result']); } else{ print "送信失敗"; } ?> です(どちらも文字コードはUTF-8で改行コードはLFです)。 これを動かしたら、 Warning: mb_send_mail() [function.mb-send-mail]: SMTP server response: 451 See http://pobox.com/~djb/docs/smtplf.html. in C:\xampp\htdocs\Mysite\lesson\php10\day04-1\sendmail.php on line 9 送信失敗 と表示され、メールも受信できませんでした。 php.iniの内容は、 [mail function] ; For Win32 only. SMTP = smtp.eonet.ne.jp smtp_port = 25 ; For Win32 only. sendmail_from = ここに自分のメールアドレスをいれました ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ;sendmail_path = "C:\xampp\sendmail\sendmail.exe -t" で、windowsメールのツールメニューのアカウント→プロパティ→サーバーのところの送信メール(SMTP)(U)のところは、smtp.eonet.ne.jpになっています。送信メールサーバーのところは、「このサーバーは認証が必要」にチェックを入れています。詳細設定の、サーバーのポート番号のことろの、送信メール(SMTP)(O)のところは25にしています。 こちらの環境は、windows vista、xampp1.6.5、php5.2.5で、メールソフトはwindows mailです。加入しているプロバイダはeonet(イオネット)です。コードはサンプルコードをちょっと変えた程度のものなので、たぶんphp.iniの設定やwindowsメールの設定が悪いのだろうと思い、windowsメールの設定のことをイオネットに問い合わせたところ、phpとかそういったことへの質問は対応しかねますとのことでした(対応した方はphpという単語自体を知りませんでした)。 php.iniの[mail function]のところで、 ; For Win32 only. SMTP = smtp.eonet.ne.jp smtp_port = 587 にして、windowsメールの詳細設定の、サーバーのポート番号のことろの、送信メール(SMTP)(O)のところを587にしたり、その他いろいろやってみましたが、ダメでした。ただメールを自分宛に送るだけなので、おそらくとても初歩的なところでつまずいているんでしょうが(考え方が根本的にズレてるような気もします)、解決方法が見つかりません。どなたかアドバイスいただけませんか。イオネットの方だと非常にありがたいです。

    • ベストアンサー
    • PHP
  • メールフォームにある必須入力について

    こんばんは、今メールフォームを作っています。入力画面→確認画面→完了ページという流れで作ったのですがよく必須項目に何も入れなかったり、間違った文字をいれたりするとエラーページが表示されるようにしたいと思っているのですが、なかなか上手くできません。下記のスクリプトからだとどうやってやったら良いのでしょうか?よろしくおねがいします。 <?php if (! isset($_POST[btn1]) and! isset($_POST[btn2]) and! isset($_POST[cancel])) { //入力画面 $body = "必要な項目を入力して[OK]ボタンをクリックしてください。 <FORM action='$_SERVER[PHP_SELF]' method='POST'> 名前:<INPUT size='40' type='text' name='name'><BR><BR> フリガナ:<INPUT size='40' type='text' name='kana'><BR><BR> 電話番号:<INPUT size='40' type='text' name='tel'><BR><BR> E-Mailアドレス:<INPUT size='40' type='text' name='email'><BR><BR> お問い合わせ内容:<BR><TEXTAREA rows='6' cols='40' name='inquiry'></TEXTAREA><BR><BR> <INPUT type='submit' name='btn1' value=' OK '> </FORM>"; } elseif (isset($_POST[btn1])) { //入力画面で[OK]がクリックされたとき $name = htmlspecialchars(stripcslashes($_POST[name])); $kana = htmlspecialchars(stripcslashes($_POST[kana])); $tel = htmlspecialchars(stripcslashes($_POST[tel])); $email = htmlspecialchars(stripcslashes($_POST[email])); $inquiry = htmlspecialchars(stripcslashes($_POST[inquiry])); $body = "ご入力した内容でメッセージを送信します。<BR> よろしければ[送信]ボタンをクリックしてください。 <FORM action='$_SERVER[PHP_SELF]' method='POST'> 名前:$name<BR><BR> フリガナ:$kana<BR><BR> 電話番号:$tel<BR><BR> E-Mailアドレス:$email<BR><BR> お問い合わせ内容:<BR>" . nl2br($inquiry) . "<BR><BR> <INPUT type='submit' name='btn2' value=' 送信 '> <INPUT type='submit' name='cancel' value='キャンセル'> <INPUT type='hidden' name='name' value=\"$name\"> <INPUT type='hidden' name='kana' value=\"$kana\"> <INPUT type='hidden' name='tel' value=\"$tel\"> <INPUT type='hidden' name='email' value=\"$email\"> <INPUT type='hidden' name='inquiry' value=\"$inquiry\"> </FORM>"; } elseif (isset($_POST[btn2])) { //確認画面で[送信]がクリックされたとき //メールの送信処理を行う $name = stripcslashes($_POST[name]); $kana = stripcslashes($_POST[kana]); $tel = stripcslashes($_POST[tel]); $email = stripcslashes($_POST[email]); $inquiry = stripcslashes($_POST[inquiry]); $mailto = "kuma202000@yahoo.co.jp"; $mailsbj = "メールフォームからの送信"; $mailbody = "$name さんからのメールが届きました。\n" . "---------------------------------------------\n" . "名前:$name \n" . "フリガナ:$kana \n" . "電話番号:$tel \n" . "E-Mailアドレス:$email \n" . "メッセージ:$inquiry \n" . "---------------------------------------------\n"; mb_language("ja"); if (mb_send_mail($mailto, $mailsbj, $mailbody, $mailheader)) { $body = "メールを送信しました。ありがとうございました。<BR><BR>"; } else { $body = "メールの送信に失敗しました。<BR><BR>"; } $body .= "<A href='$_SERVER[PHP_SELF]'>戻る</A>"; } elseif (isset($_POST[cancel])) { //確認画面で[キャンセル]がクリックされたとき header("location: $_SERVER[PHP_SELF]"); exit(); } ?> <HTML> <HEAD> </HEAD> <BODY> <?=$body?> </BODY> </HTML>

    • 締切済み
    • PHP
  • POST からの受け渡しができません・・・

    教えてくださいm(__)m <FORM action="<? echo $PHP_SELF; ?>" method="POST"> :(ここにはif文がはいっています。) : print "お名前:<BR>\n"; print "<input type=\"text\" name=\"handle\" size=\"16\" maxlength=\"30\" value=\"<? echo ($handle); ?>\"><br><br>\n"; print "性別:<BR>\n"; for (reset ($sex_tbl); $key = key ($sex_tbl); next ($sex_tbl)) { echo (" <OPTION value=\"" . $key . "\""); if ($key == $sex) echo (" SELECTED"); echo (">" . $sex_tbl[$key] . "\n"); } print "PRポイント:<BR>\n"; print "<input type=\"text\" name=\"pr\" size=\"16\" maxlength=\"30\" value=\"<? echo ($pr); ?>\"><br><br>\n"; print "<CENTER><input type=\"submit\" value=\"次の人!\"></CENTER><br>\n"; print "<input type=\"hidden\" name=\"page\" value=\"kekkapage\">\n"; print "<input type=\"hidden\" name=\"handle\" value=\"" . $_POST['handle'] . "\">\n"; print "<input type=\"hidden\" name=\"sex\" value=\"" . $_POST['sex'] . "\">\n"; print "<input type=\"hidden\" name=\"pr\" value=\"" . $_POST['pr'] . "\">\n";←80 </FORM> : : ↑なのですが、 「・・・on line 80」エラー表示になりうまくいきません。 の部分が原因と表示にはなっているのですが…。 助けてください。 宜しくお願いしますm(__)m

    • ベストアンサー
    • PHP
  • 複数のデータをPOSTで渡す場合について(ソース一部省略)

    教えてくださいm(。≧Д≦。)m PHP初心者です。。 ----------------------------------------------------------- <FORM action="<? echo $PHP_SELF; ?>" method="POST"> print "お名前:<BR>\n"; print "<input type=\"text\" name=\"handle\" size=\"16\" maxlength=\"30\" value=\"$handle\"><BR>\n"; ↓この表示も違うと思うのですが…-------- print "性別:<BR>\n"; print "<input type=\"radio\" name=\"sex[0]\" value=\"$sex[0]\" checked>男性<BR>\n"; print "<input type=\"radio\" name=\"sex[1]\" value=\"$sex[1]\">女性<BR>\n";------------ print "PRポイント:<BR>\n"; print "<input type=\"text\" name=\"body\" size=\"16\" maxlength=\"30\" value=\"$body\"><br><br>\n"; <input type=\"submit\" value=\"次の人\"></CENTER> print "<input type=\"hidden\" name=\"handle\" value=\"" . $_POST['handle'] . "\">\n"; print "<input type=\"hidden\" name=\"sex\" value=\"" . $_POST['sex'] . "\">\n"; print "<input type=\"hidden\" name=\"body\" value=\"" . $_POST['body'] . "\">\n"; ---------------------------------------------------------------- ↑この前に「人数は?」というSELECTで数字を選ぶものがありその人数に合わせて「次の人」を押すと入力ページが繰り返されています。 例えば3人を選ぶと3回入力画面が続くわけですが、その後そのデータを引継ぎたいのです。 一人目 名前の表示<br>PRの表示<br>(女性を選択した場合)全ての男性の名前の表示 二人目、三人目も同じように表示したいのです。。 どのように作ればいいでしょうか?m(。≧Д≦。)m

    • ベストアンサー
    • PHP
  • メールの中身が入りません。なぜでしょう?

    PHPを勉強し始めまたばかりで、つまずいています。 本を買って来て、サンプルプログラムをセコセコ写して、イザ クリックしましたら、メールは届くのですが、なぜか本文が 入りません。届くのは      ↓ さんからのメールが届きました。 ----------------------------------------------------- ----------------------------------------------------- これだけです。 「POST」を使っているので php.iniのregisterglobalsをOnにしても、届きません。 何が悪いんでしょう? PHPのバージョンでしょうか? それとも、Apacheのバージョンでしょうか? php-5.0.2のwindows版 Apache_2.052 なのですが・・・。 どなたか詳しい方宜しくお願いいたします ******************************* <?php if (! isset($_POST[btnExec1]) and ! isset($_POST[btnExec2]) and ! isset($_POST[btnCancel1])){ $body = "名前とメッセージを入力して[OK]ボタンをクリックしてください。 <FORM action='$_SERVER[PHP_SELF]' method='POST'> 名前: <INPUT size='40' type='text' name='name'><BR><BR> メッセージ:<BR> <TEXTAREA row='6' cols='40' name='message'></TEXTAREA><BR><BR> <INPUT type='submit' name='btnExec1' value='OK'> </FORM>"; } elseif (isset($_POST[btnExec1])){ $name = htmlspecialchars(stripcslashes($_POST[name])); $message = htmlspecialchars(stripcslashes($_POST[message])); $body = "次の内容でメッセージを送信します。<BR> よければ送信ボタンをクリックしてください。 <FORM action='$_SERVER[PHP_SELF]' method='POST'> 名前:$name<BR><BR> メッセージ:<BR>". nl2br($message). "<BR><BR> <INPUT type='submit' name='btnExec2' value='送信'> <INPUT type='submit' name='btnCancel1' value='キャンセル'> <INPUT type='hidden' name='name' valu=\'$name\'> <INPUT type='hidden' name='message7 valu=\'$message\'> </FORM>"; } elseif (isset($_POST[btnExec2])){ $name = stripcslashes($_POST[name]); $message = stripcslashes($_POST[message]); $mailto = "*********@*********"; $mailsbj = "メールフォームからの送信"; $mailbody = "$name さんからのメールが届きました。\n". "-----------------------------------------------------\n". "$message \n". "-----------------------------------------------------\n"; mb_language("ja"); if(mb_send_mail($mailto,$mailsbj,$mailbody,$mailheader)){ $body = "メールを送信しました!<BR><BR>"; } else{ $body = "メールの送信に失敗しました!<BR><BR>"; } $body.="<A href='$_SERVER[PHP_SELF]'>戻る</A>"; } elseif (isset($_POST[btnCancel1])){ header("location: $_SERVER[PHP_SEIF]"); exit(); } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META http-eqive="Content-Type" content="text/html; charset=x-euc-jp"> <meta http-equive="Content-Style-Type" content="text/css"> </HEAD> <BODY> <?=$body?> </BODY> </HTML>

    • ベストアンサー
    • PHP
  • PHP データの削除と個々の時間を書きだす

    PHPでプログラムを作成したいのですが、ninusyo.phpというphpプログラムからrireki.dataデータファイルを読み込みます。 //問題はここから。 ログインした個々の時間を書きだして、ログアウトボタンを押すとメールアドレスや名前などが消える。というプログラムが出来ません。 ヒントでも構いませんから、教えて頂けると嬉しいです。 以下、ソースです。なお、DBではありません。 <?php //受け渡しデータ //ml:メールアドレスのkey,メールアドレスは半角英数字24桁 //name:名前のkey,名前は半角英数字9桁 //pass(メールアドレスと同じ):パスワードのkey,半角英数字24桁 //mode:書き込みのkey, $modeとして使用。 // パラメータの取得 $ml=trim($_REQUEST['ml']); $name=trim($_REQUEST['name']); $pass=trim($_REQUEST['pass']); $mode=trim($_REQUEST['mode']); // データの入力 print '<form action="ninsyo.php" method="post">'; print ' 名    前 :<input type="text" size="10" name="name" value=" "><br>'; print '  パスワード :<input type="text" size="25" name="pass" value=" "><br>'; print 'メールアドレス:<input type="text" size="25" name="ml" value=" "><br>'; print'         <input type="submit" value="ログイン"><br>'; print'<input type="hidden" name="mode" value="write">'; print'</form>'; //終了 データの入力 //ファイルの追加 if($ml != null){ $fp=fopen("./rireki.data","at"); //$today = date("Y/m/d H:i:s"); fputs($fp,"\n".$ml.",".$name.",".$pass.",".$today); fclose($fp); } //終了 ファイルの追加 } //終了 エラー表示 // 削除データの入力 print '<form action="ninsyo.php" method="post">'; print '          <input type="text" size="10" name="sakujo">'; print '<input type="submit" value="名前deログアウト">'; print '<input type="hidden" name="mode" value="write">'; print '</form>'; // 終了 削除データの入力 // ファイルの読み込み $fp=fopen("./rireki.data","r"); while(!feof($fp)){ $tmp_a[]=mb_ereg_replace("\n","",fgets($fp)); }fclose($fp); $num_data=count($tmp_a); for($i=0;$i<$num_data;$i++){ $mail_a= explode(",", $tmp_a[$i]); for($j=0;$j<4;$j++){ $namae_a[$i][$j]=$mail_a[$j]; } } // 終了 ファイルの読み込み // データのソート select_sort // 削除データの削除 if($sakujo!=null){ for($i=0; $i<$num_data; $i++){ if($namae_a[$i][0]==$sakujo){ $namae_a[$i][0]=$namae_a[$num_data-1][0]; $namae_a[$i][1]=$namae_a[$num_data-1][1]; $namae_a[$i][2]=$namae_a[$num_data-1][2]; $namae_a[$num_data-1][0]=""; $namae_a[$num_data-1][1]=""; $namae_a[$num_data-1][2]=""; break; } } } // 終了 削除データの削除 宜しくお願いします。

    • ベストアンサー
    • PHP
  • 選んだ数字だけ繰り返す

    教えてくださいm(__)m print "<SELECT NAME=\"ninzu\">\n"; print "<OPTION value=\"3\" SELECTED>3</OPTION>\n"; print "<OPTION value=\"4\">4</OPTION>\n"; : print "</SELECT>人\n"; print "<input type=\"hidden\" name=\"page\" value=\"selectpage\">\n"; print "<input type=\"hidden\" name=\"bangou\" value=\"" . $_POST['bangou'] . "\">\n"; print "<input type=\"hidden\" name=\"ninzu\" value=\"" . $_POST['ninzu'] . "\">\n"; ↑で選んだ人数分だけ、↓を繰り返えす処理をしたいのですが・・・。 print $_POST['bangou'] . "人目の番<br><br>\n"; print "お名前:<BR>\n"; print "<input type=\"text\" name=\"handle\" size=\"16\" maxlength=\"30\" value=\"$handle\"><BR><BR>\n"; print "性別:<BR>\n"; print "<OPTION value=\"$checkbox\" name=\"sex\" value=\"<? echo ($sex_tbl[1]); ?>\"><? echo ($sex_tbl[1]); ?>\n"; print "<OPTION value=\"$checkbox\" name=\"sex\" value=\"<? echo ($sex_tbl[2]); ?>\"><? echo ($sex_tbl[1]); ?>\n"; print "PRポイント:<BR>\n"; print "<input type=\"text\" name=\"point\" size=\"16\" maxlength=\"30\" value=\"$point\"><br><br>\n"; とりあえず、↓ if ((integer) $_POST['bangou']) { $_POST['bangou']++; } else { $_POST['bangou'] = 1; } で、「print $_POST['bangou'] . "人目の番<br><br>\n";」 の部分は大丈夫だと思うのですが、その後が続きません…。 教えてください。 宜しくお願いしますm(__)m

    • ベストアンサー
    • PHP
  • 番号をつける

    度々の質問で申し訳ないのですが、 ファイルに書き込むときに通し番号を付けたいのですがどうしたら良いか分かりません。 ファイルの行数を数えるのが良いのでしょうか? 良い方法がありましたら、教えてください。 #!c:/perl/bin/perl print "Content-type: text/html\n\n"; require 'cgi-lib.pl'; &ReadParse(\%data); $name = $data{'name'}; $age = $data{'age'}; $sei = $data{'sei'}; $input = $name.$age.$sei; $x=0; open(RF,"<member.dat"); while($line=<RF>){ if((index ($line,$input))>=0){ print "既に登録されています。<BR>"; $x++; } } close(RF); if($x==0){ open(FP,">>member.dat"); <---順番に番号をつけて、保存したい---> print FP $input; print FP "\n"; close(FP); print "<HTML><HEAD>\n"; print "<TITLE>登録完了</TITLE>\n"; print "</HEAD><BODY>\n"; print "<H3>登録完了しました。</H3>"; print "</BODY></HTML>\n"; } exit;

    • ベストアンサー
    • Perl
  • (PHP初学者) mb_send_mail

    フォームに入力された内容をローカル環境(Xampp)から フリーメールアドレスに送信をする課題を勉強をしています。 入力側ファイル ---------------------------------------------- <html> <body> <form action="mail.php" method="post"> 名前</th><td><input type="text" name="name"><br> メール</th><td><input type="text" name="mail"><br> メッセージ</th><td><textarea name="messe"></textarea><br> <input type="submit" value="確認する" name="submit"> </body> </html> ---------------------------------------------- 送信ファイル(mail.php) ---------------------------------------------- <?php error_reporting(1); $name = $_POST["names"]; $mail = $_POST["email"]; $messe = $_POST["messe"]; mb_language("ja"); mb_internal_encoding("euc-jp"); $naiyou = $names."<br/>".$mail."<br />".$messe; $result = mb_send_mail("○○○@yahoo.co.jp","メール送信テスト",$naiyou); //受信するフリーメールアドレス if($result){echo "成功"; }else{echo "失敗";} ?> ---------------------------------------------- このサンプルと別のサンプルで試して どちらも結果は「成功」と表示されるのですが 実際にはフリーメール側でのメールの受信はできません。 (ホットメールとヤフーメールで試しています。) PHP学習サイトで「php.ini」の設定を変えなければならないということで 以下の部分のセミコロンをはずし変更してみました。 [mail function] SMTP = ○○○(ここには契約プロバイダのsmtpサーバを記入) smtp_port = 25 sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" 多くのPHPを勉強している方がここでつまずいているようで 色々調べてみたのですが 上手くいかない原因はそれぞれ異なるようで 上手くいく手がかりが見つかっていません。 難しいことはまだ理解できないため できるだけ難しい関数や処理などは使わない方法で 解決できる手段があれば ご教授よろしくお願いいたします。

    • 締切済み
    • PHP