PHPで掲示板の論理削除機能作成方法について

このQ&Aのポイント
  • PHPで掲示板の論理削除機能の作成方法について教えてください。
  • 削除キーと削除パスワードを入力し、投稿番号を指定して投稿者の記事を削除する方法を教えてください。
  • 削除パスワードの送り方や確認方法についても教えていただけると助かります。
回答を見る
  • ベストアンサー

投稿記事を論理削除2

PHPで掲示板の機能の一つである論理削除機能を作成しようと思っています。削除キーに削除パスワードを入力,投稿番号を指示したときに投稿者の記事を削除(物理削除ではありません)するようにしたいのです。スクリプトの一部を記述します。全文は補足に記述させていただきます。削除パスワードの送り方、そのパスワードかを確認、投稿番号の指示の仕方などお教えいただけないでしょうか? 流れ的には記事を書くときに、削除キーに削除パスワードを入力、 投稿を送信したあとに、投稿番号を指示して削除キーに入力した 削除パスワードを入力、削除ボタンを押して投稿を削除としたいのです。 $data = file("data.txt"); $i = 1; foreach($data as $value){ $view = explode("\t", $value); list($name, $mail, $body, $dt) = explode("\t",$value); if( $i < 11 ){ if($mail== ""){ # 削除ボタンが押されたら if($submit =="削除"){ $submit = $_POST["delete"]; } #このパスワードなら if($_delkey == "0123456789"){ $_POST["num"]; } if ( $num == $view[3] && $pass == "0123456789"){ } echo "お名前:$view[0]$view[3]<br>"; echo "本文:$view[2]<br>"; echo '<hr size="1" width="80%"><br>'; } else { echo "お名前:<a href=\"mailto:$mail\">$view[0]</a>$view[3]<br>"; echo "本文:$view[2]<br>"; echo '<hr size="1" width="80%"><br>'; } } $i++; }

  • msnxl
  • お礼率81% (36/44)
  • PHP
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

手順を説明します。 1、投稿時にDELETEキーを送る。 >削除キー <input type="password" name="delkey" size=8>(記事の削除用。英数字で8文字以内) としているので問題なし。 英数字以外や最大文字数以上、もしくは削除キーなしが送られてきたときの処理とかを考えなくてはいけませんが、その辺は適当に。 2、データを保存する >fwrite($file, "$name\t$mail\t$body\t$dt\n\t\t$flag=1".implode("", $data)); ここで記録をしているようですが、ココにDELキーや理論削除フラグの項目を追加します。 あと$dt(記事番号?)のところに \n が入っていますが、これだと正常に動きません。 3、記事表示 記事表示と削除は同時にしてもいいですが、分かりにくいので分けたほうがいいかもしれません。 foreach($data as $value){ の中に同じ foreach($data as $value){ が入っているので、不具合が起こる場合があります。 $valueを変えたほうがいいと思います。 4、削除する。 できれば投稿時のFORMと分けた方がいいです。 できないわけではありませんが、処理が混乱するので。

msnxl
質問者

お礼

ありがとうございます。なんとか削除機能を実装することができました。

その他の回答 (1)

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

>削除パスワードの送り方、そのパスワードかを確認、投稿番号の指示の仕方などお教えいただけないでしょうか? 削除機能をつけたいけど、やり方が分からないのでしょうか。 分かるところはどこですか? $view = explode("\t", $value); list($name, $mail, $body, $dt) = explode("\t",$value); で記録されたデータを分割しているのですが、パスワードのデータはありませんね。 ここらへんをいじる。 例えば list($name, $mail, $body, $dt, $pass) = explode("\t",$value); として、 if($_delkey == $pass){ $i = 1; foreach($data as $value){ $view = explode("\t", $value); list($name, $mail, $body, $dt ,$del_flag) = explode("\t",$value); if ($_POST["num"] == $dt) { $value[$i] = "$name\t$mail\t$body\t$dt\t1\n"; } $i++; } とか。 データの型は分からないので予想ですが。 ちなみに、削除パスワードの送り方は、タダ単にFORMを作って送ればいいだけです。

msnxl
質問者

お礼

ありがとうございます。なんとか削除機能を実装することができました。

msnxl
質問者

補足

わかるところは「そのパスワードかを確認」というくらいです。 それも、正解なのかは自信がありませんが。 削除パスワードの送り方はechoとして他のものといっしょに送信しています。 hiddenには投稿番号とその照合などで使おうと思っています。 まだ途中ですが、このような感じで作成しています。 <?php $hidden = $_POST["NO"]; $text = $_POST["delcode"]; $reset = $_POST["delete"]; $sub = $_POST["DELETE"]; $submit = $_POST["SUBMIT"]; $password =$_POST["delkey"]; if($submit == "送信"){ $num = $_POST["num"]; $name = $_POST["NAME"]; $mail = $_POST["MAIL"]; $body = $_POST["BODY"]; if($name== "" or $body == ""){ header("Location:subject03-02false.php"); exit; } #HTML無効 $name = htmlspecialchars("$name"); $mail = htmlspecialchars("$mail"); $body = htmlspecialchars("$body"); #クォートを取り除く if(get_magic_quotes_gpc()){$neme = stripslashes("$name");} if(get_magic_quotes_gpc()){$mail = stripslashes("$mail");} if(get_magic_quotes_gpc()){$body = stripslashes("$body");} #本文を1000文字まで表示 $body = substr($body, 0, 1000); $body = str_replace("\r\n","<br>", $body); $body = str_replace("\t", " ", $body); $dt = date("y/m/d H:i:s"); $N = "NO"; $data = file("data.txt"); $count = count ($data); $num = $count++; #array_shift($data); $file = fopen("data.txt", "w"); fwrite($file, "$name\t$mail\t$body\t$dt\n\t\t$flag=1".implode("", $data)); fclose($file); header("Location:subject03-02.php"); exit; } # ノーキャッシュヘッダー header("Expires: Mon,26 Jul 1997 05:00:00 GMT"); header("Last-Modified:".gmdate("D,d M Y H:is")."GMT"); header("Cache-Control: no-cache,must-revaildate"); header("Prodma:no-cache"); echo ' subject03-BBS <h1>subject-BBS</h1> <form method="post" action="subject03-02.php" > お名前 <input type="text" size="20" maxlength="40" name="NAME"> メール <input type="text" size="30" maxlength="60" name="MAIL"> <p>本文<br></p> <textarea rows="20" cols="80" wrap="soft" name="BODY"></textarea> <p><input type="submit" name="SUBMIT" value="送信"><input type="reset" name="delete" value="消す"></p> 削除キー <input type="password" name="delkey" size=8>(記事の削除用。英数字で8文字以内) <p>投稿番号:<input type="text" size=10 name="delcode"><input type="submit" neme="DELETE"value="削除"></p> <input type="hidden" name="NO" value="$view[3]"> </form> '; $data = file("data.txt"); $i = 1; foreach($data as $value){ $view = explode("\t", $value); list($name, $mail, $body, $dt,$password,$) = explode("\t",$value); if( $i < 11 ){ if($mail== ""){ #このパスワードならPOSTで送る。 if($_delkey == "0123456789"){ $_POST["num"]; } $flag = 0; $flag = 1; # 削除ボタンが押されたら if($submit =="削除"){ $sub = $_POST["delete"];//入力された削除キー $data = file("data.txt"); foreach( $data as $value){ explode("\t",$value); if($num == $value[3] && $delete == $value[1]){//$value[0]が投稿番号$valet[1]が削除キーと仮定した場合 //削除フラグを1にする処理 if($flag == 1); } } #新しい投稿かつ、そのパスワードが0~9ならPOSTでdeleteを送る。 if ( $num == $view[3] && $pass == "0123456789"){ } echo "お名前:$view[0]$view[3]<br>"; echo "本文:$view[2]<br>"; echo '<hr size="1" width="80%"><br>'; } else { echo "お名前:<a href=\"mailto:$mail\">$view[0]</a>$view[3]<br>"; echo "本文:$view[2]<br>"; echo '<hr size="1" width="80%"><br>'; } } $i++; } ?>

関連するQ&A

  • 投稿番号、投稿削除と投稿修正機能

    こんにちわ。今、PHPのみで掲示板の機能の一つである、投稿番号(投稿記事に番号をふりたい)と投稿者自身が投稿を削除する(削除キーを使用して8文字以内とかにしようかと)機能と投稿者が投稿を修正できる機能を作成したいと思っているのですが、なにか簡単な例でいいですので記述していただけないでしょうか?削除キーはテキストボックスで作りました。webのサンプルソースをみても組み込めないでいます。だいぶ、省略していますが、下記のようになスクリプトを組んでいます。 // ファイル書き込み  $file = fopen("data.txt", "w"); fwrite($file, "$name\t$mail\t$body\t$dt\n".implode("", $data)); $i = 1; foreach ($data as $value) { if($i < 100) { fwrite($file, "$value"); $i++; } } fclose($file); header("Location:subject03-02.php"); exit; } //投稿表示 $data = file("data.txt"); $i = 1; foreach($data as $value){ $view = explode("\t", $value); list($name, $mail, $body, $dt) = explode("\t",$value); if( $i < 11 ){ if($mail== ""){ echo "お名前:$view[0]$view[3]<br>"; echo "本文:$view[2]<br>"; echo '<hr size="1" width="80%"><br>'; } else { echo "お名前:<a href=\"mailto:$mail\">$view[0]</a>$view[3]<br>"; echo "本文:$view[2]<br>"; echo '<hr size="1" width="80%"><br>'; } } $i++; }

    • ベストアンサー
    • PHP
  • 投稿記事を論理削除

    PHPで掲示板の機能の一つである論理削除機能を作成しようと思っています。削除キーに削除パスワードを入力して、削除ボタンを入力(または投稿番号を指示)したときに投稿者の記事を削除(物理削除ではありません)するようにしたいのです。投稿番号や削除キー、削除ボタンは作成したのですが、hiddenやif文を使用することまではわかったのですが、肝心のスクリプト部分がどうしてわからないのです。なにか例のようなものでも記述していただけないでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • ファイル書き込みが重複する

    こんばんわです。 以下のスクリプトで 投稿データを時系列に新しい書込み順に表示させようとしているのですが、一度実行させると同じ投稿がいくつも表示されてしまうのです。ご回答お願いいたします。一部省略しています。 <?php if($name== "" or $body == ""){ echo '<font color = "#FF000">必須項目入力エラー</font><br>'; echo 'お名前と本文は必ず入力してください<br>'; echo '<a href = "javascript:history.back()">戻る</a>'; } $body = substr($body, 0, 1000); $body = str_replace("\r\n", "<br>", $body); $dt = date("y/m/d H:i:s"); $data = file("data.txt"); $file = fopen("data.txt", "w"); fwrite($file, "$name\t$mail\t$body\t$dt\n"); $i = 1; foreach ($data as $value) { if($i < 30) { fwrite($file, "$value"); $i++; } } fclose($file); } echo ' subject03-BBS <h1>subject-BBS</h1> <form method="post" action="subject03.php" > お名前 <input type="text" size="20" maxlength="40" name="NAME"> メール <input type="text" size="30" maxlength="60" name="MAIL"> <p>本文<br></p> <textarea rows="20" cols="80" wrap="soft" name="BODY"></textarea> <p><input type="submit" name="SUBMIT" value="送信"><p/> </form> '; $data = file("data.txt"); foreach($data as $value){ $view = explode("\t",$value); if($mail== ""){ echo "お名前:$name$view[3]<br>"; } else{ echo "お名前:<a href=\"mailto:$mail\">$name</a>$view[3]<br>";} echo "本文:$body<br>"; } ?>

    • ベストアンサー
    • PHP
  • 掲示板の記事の削除

    データの削除の覧でのソースについての質問です。 記事が削除されません。原因がわからないので困ってます。 答えをズバリ書いてくれたり、一からでもいいのでこっちのほうが簡単にできるよってのでも良いです。よろしくお願いします <HTML> <HEAD> <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=sjis"> <FORM ACTION="<?php echo $PHP_SELF; ?>" METHOD="POST" > <TITLE>削除操作</TITLE> </HEAD> <BODY> <BR> <FORM ACTION="<?php echo $PHP_SELF; ?>" METHOD="POST"> <INPUT TYPE ="text" NAME="comment" SIZE="40"><BR> 削除キー<INPUT TYPE="password" NAME="pass" SIZE="10"><BR> <INPUT TYPE ="submit" NAME="regist" VALUE="ボタン"><BR> </FORM> <BR><BR> </CENTER> </BODY> </HTML> <? $data_file = "test01.txt"; if(!isset($code)) { $code = $_POST['code']; } if(!isset($comment)) { $comment = $_POST['comment']; } if(!isset($regit)) { $regist = $_POST['regist']; } if(!isset($delete)) { $delete = $_POST['delete']; } if(!isset($delcode)) { $delcode = $_POST['delcode']; } if(!isset($password)){ $password = $_POST['password']; } if(!isset($pass)) { $pass = $_POST['pass']; } //データの削除 if($delete){ if(($delcode != "") && ($password != "")){ $delfile = file($data_file); $fp = fopen($data_file, "w"); for($i=0; $i<count($delfile); $i++){ list($dcode,$dcomment,$dpass) = split( ",", $delfile[$i]); if ($password == $dpass){ if ($delcode == $dcode) { $delfile[$i] = ""; } } } fputs($fp,$delfile[$i]); fclose($fp); } unset($delfile); } //データの書き込み if($regist){ if(($pass != "") && ($comment != "")){ $code = time(); //アクセス時の秒数 $imput_msg = ( $code .','. $comment .','.$pass); //ファイル操作 $fp = fopen($data_file,"a+"); rewind($fp); fputs($fp,"$imput_msg\n"); fclose($fp); } } //出力処理 $msg = file($data_file); for($i = 0; $i < count($msg); $i++){ list($code2,$comment2,$pass2) = split( ",", $msg[$i]); print "<form method=\"POST\" action=\"$PHP_SELF\">"; print "<input type=\"checkbox\" name=\"delcode\" value=\"$code2\"><br>\n"; print "code2: $code2<br>"; print "comment:$comment2<br>"; print "pass: $pass2<br>"; print " 削除用パスワード:<input type=password size=10 name=password>"; print " <input type=\"submit\" name=\"delete\" value=\"削除\">\n"; print "</form>\n"; } unset($msg); ?>

    • ベストアンサー
    • PHP
  • 投稿記事のページ表示

    こんにちわ。ページ処理で苦悩しています。 掲示板で五件以上投稿されたとき「次の五件へ」のボタンを押したときに過去の五件の投稿が表示されるようにしたいのです。 最初に投稿されたとき5件だけを表示するというとはできるのですが、 ページ移動の処理(ページ移動したとき過去の投稿の5件が表示されている)がわからないのです。 掲示板の書き込み処理と、次の「五件へ」の途中スクリプトを のせさせていただきます。 書き込み処理 $file = fopen("data.txt", "w"); fwrite($file, "$name\t$mail\t$body\t$dt\t$count\t$flag\t$text\t\n".implode("", $data)); fclose($file); 「次の5件へ」が押されたら過去の投稿が5件表示されるという処理作成している途中です。 if($submit == "次の5件へ"){ echo "<form method=\"post\" action=\"subject03-02.php\" >"; echo "<input type=hidden name=pline value=$view[4]>"; echo "<input type=submit value=次の五件へ>\n"; echo "</form>\n"; } 表示スクリプトは省いています。

    • ベストアンサー
    • PHP
  • PHPによるアンケートの項目追加

    質問投稿させていただきます。 急遽仕事でPHPのアンケートの項目を追加することになったのですが PHPは全くの素人で困っています。 既存のアンケートに項目を追加したいのですが <h2>アンケートフォーム</h2> <form action="question2.php" method="post"> <dl class="clearfix"> <dt>性別は?</dt> <dd> <?php $male = '男性'; $female = '女性'; $number = array('1', '2'); echo ' <label><input type="radio" name="gender" value="' . $number[0] . '" />' . $male . '</label>' . "\n"; echo ' <label><input type="radio" name="gender" value="' . $number[1] . '" />' . $female . '</label>' . "\n"; ?> </dd> <dt>年齢は?</dt> <dd> <label> <select name="age"> <option value="0" selected="selected">選択してください</option> <?php for ($num = 1; $num <= 4; $num++) { echo ' <option value="' . $num . '">' . $num . '0代</option>' . "\n"; } ?> <option value="5">50代以上</option> </select> </label> </dd> <dt>趣味は?</dt> <dd class="hobby-area"> <?php $hobby = array(1 => '音楽鑑賞', 2 => '映画鑑賞', 3 => 'ドライブ', 4 => '旅行', 5 => 'その他'); foreach ($hobby as $key => $value) { echo ' <label><input type="checkbox" name="hobby[' . $key . ']" value="' . $key . '" />' . $value . '</label>' . "\n"; } ?> </dd> </dl> <p> <input type="submit" value="投票する" /> </p> </form> この文に <dt>趣味は?</dt> <dd class="hobby-area"> <?php $service = array(1 => 'あああ', 2 => 'あああ', 3 => 'あああ', 4 => 'あああ', 5 => 'あああ'); foreach ($service as $key => $value) { echo ' <label><input type="checkbox" name="service[' . $key . ']" value="' . $key . '" />' . $value . '</label>' . "\n"; } ?> </dd> </dl> このように項目を増やしたいのですがなぜか追加した項目の確認ページで Warning: Invalid argument supplied for foreach() in ~ と表示され echo '<dt>サービスは?</dt>'; echo '<dd>'; foreach ($service as $value) { switch ($value) { case 1: echo 'あああ<br />'; break; case 2: echo 'あああ<br />'; break; case 3: echo 'あああ<br />'; break; case 4: echo 'あああ<br />'; break; case 5: echo 'あああ<br />'; break; } } echo '</dd>'; この部分にエラーがあると表示されてしまいます。 これは$serviceに値がうまくいっていないということでしょうか? 素人の質問なので足りない処などあると思いますが よろしければ御回答ください。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • ファイルに記憶できない。

    こんにちわお聞きしたいのですが、以下のスクリプトで、送信で引渡されたデータを先に記録し、再度ファイルから取出し表示したいのですが data.txtに書き込まれないです。サーバーに上げている、data.txtの の属性は書き込みにしています。 <?php $submit = $_post["submit"]; if($submit == "送信"){ $name = $_POST["NAME"]; $mail = $_POST["MAIL"]; $body = $_POST["BODY"]; if($name== "" or $body == ""){ echo '<font color = "#FF000">必須項目入力エラー</font><br>'; echo 'お名前と本文は必ず入力してください<br>'; echo '<a href = "javascript:history.back()">戻る</a>'; exit; } $body = str_replace("\r\n", "<br>", $body); $fp = fopen("data.txt","w"); fwrite($fp,"$name\t$mail\t$body\n"); fclose($fp); } echo ' subject03-BBS <h1>subject-BBS</h1> <form method="post" action="subject03.php" > お名前 <input type="text" size="20" maxlength="40" name="NAME"> メール <input type="text" size="30" maxlength="60" name="MAIL"> <p>本文<br></p> <textarea rows="20" cols="80" wrap="soft" name="BODY"></textarea> <p><input type="submit" name="SUBMIT" value="送信"><p/> </form> '; $data = file("data.txt"); foreach($data as $value){ $view = explode("\t".$value); $name = $view[0]; $mail = $view[1]; $body = $view[2]; if($mail== ""){ echo "お名前:$name<br>"; } else{ echo "お名前:<a href=\"mailto:$mail\">$name</a><br>";} echo "本文:$body<br>"; } ?> </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
  • 削除する記事が存在しない場合の処理

    投稿すると自動的にその投稿に対して記事番号なるものが割り当てられ、 その記事番号と自分で投稿時に決めた削除パスワードで 自分の投稿を削除する形式の掲示板なのですが パスワードや記事番号が入力されていない場合には 〇〇〇が入力されていませんと表示されるにもかかわらず 存在しない記事番号が入力して削除しようとすると 「正常に削除いたしました」と表示されてしまいます。 (実際には存在しない記事番号なので何も削除されていないのですが) そこで下記のようにの#~#の部分を追加で記述し、 記事番号が存在しない場合にエラーとなるようにしてみたのですが これで本当にいいのか正直不安なのです。 正しいかチェックしていただけませんか? @new=(); open (IN,"$file") || error("システムエラー","ファイル「$file」を開くことができません。"); while($data = <IN>) { $flag=0; ($no,$res,$date,$cntr,$email,$tall,$weight,$age,$sub,$com,$live,$select,$photo,$pw) = split(/<>/,$data); if ($FORM{'pass'} eq "$ad_pass") { foreach $del (@DEL) { if ($no eq "$del") { $flag=1; last; } } } else { if ($FORM{'del'} eq "$no") { if (!($pw)) { &error("入力エラー","指定された記事には削除キーが設定されていません。"); } if (crypt($FORM{'pass'},$pw) ne "$pw") { &error("入力エラー","パスワードが間違っています。"); } $flag=1; } #記事番号が存在しない時、エラーを表示追加 if ($FORM{'del'} ne "$no") { if (crypt($FORM{'pass'},$pw) ne "$pw") { &error("入力エラー","記事番号が存在しません。記事番号を確認して入力し直してください。"); } } #ここまで } if ($flag == 0) { push(@new,$data); } } close (IN);

    • ベストアンサー
    • Perl
  • PHPとhtmlについて

    初心者なりに下のようなプログラムを作ってみましたが、「注文画面へ」のボタンを押しても反応がありません。どうしたらいいでしょうか?教えてください。 あと、注文画面へ行くとボールの個数を選んだ後に出る合計金額を次のページに反映させたいのですが、それもわかりません。もしよければ、こちらも教えてください。 よろしくお願いします。 <html> <head> <title> 商品確認 </title> <script language ="JavaScript"> <!-- function calc(amount){ document.ball.total.value = 4095 * eval(amount); }//--> </script> </head> <body> <form name=ball> V4SLBL ソフトタッチ鈴入り4号球<br> <hr> 個数: <select name ="num" onchange = "javascript:calc(this.value)"> <option value =0>0 <option value =1>1 <option value =2>2 <option value =3>3 <option value =4>4 <option value =5>5 </select> 小計: <input type="text" size="8" name="total">円<br> <hr> <?php $go['V4SLBL ソフトタッチ鈴入り4号球'] = "4,095円"; echo " 商品確認"; echo "<table border=\"1\">"; foreach($go as $key=>$value) echo '<tr><td>'."$key</td><td>$value</td></tr>"; echo '</table>'; echo"<form action=\"m4.php\" method = \"post\"> <input type = \"submit\" value = \"注文画面へ\"></form>"; echo"<form action=\"m1.php\" method = \"post\"> <input type = \"submit\" value = \"戻る\"></form>"; ?> </form> </body> </html>

    • 締切済み
    • PHP

専門家に質問してみよう