• ベストアンサー

計算ができません

こんにちは 以下のようなプログラムを書きましたが、文字列として扱われるみたいです。 計算させるにはどのようにしたらよいでしょうか? <html> <body> <form action="uektori.php" method="POST"> <input type="text" name="suuji1"> <select name="tasu"> <option value="+" selected>+</optinon> <option value="-" >-</optinon> <option value="*" >*</optinon> <option value="/" >/</optinon> </select> <input type="text" name="suuji2"> <input type="submit" value="送信"> <?php $a=($_POST['suuji1']); $b=($_POST['tasu']); $c=($_POST['suuji2']); $d="$a$b$c"; print "<br>"; print "$d"; ?> </body> </html> 宜しくお願い致します。

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

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

  • ベストアンサー
  • mattalix
  • ベストアンサー率62% (47/75)
回答No.1

文字列扱いで当然です tasuによって条件分岐させましょう evalって手もありますが危険なので十分気をつけること

その他の回答 (1)

  • asuncion
  • ベストアンサー率33% (2126/6288)
回答No.2

>$d="$a$b$c"; $bには、+, -, *, / のいずれかの「文字」が入っているだけです。 上に引用した文で、四則演算をしてくれるわけではありません。 四則演算は足し算の他にもあるのに、"tasu"っていう名前はどうなんだろう?というのもあります。

関連するQ&A

  • 値の受け取り方

    nameタグが下記のようになっている場合、 PHPではどのように取得すれば良いのでしょうか? selectタグは取得できましたが、配列になっている場合の取得方法が分かりません。 ---HTML--- <form action="abc.php" method="post" > <input type="text" name="ord[name]" size="30" VALUE=""> <input type="text" name="ord[company]" size="30" VALUE=""> <select name="pref"> <option value="">-- 都道府県 --</option> <option value="北海道" >北海道</option> <option value="青森県" >青森県</option> <option value="岩手県" >岩手県</option> </select> ・ ・ ---abc.php--- <html> <head><title>output</title></head> <body> <?php $pref = $_POST['pref']; print ("次のデータを受け取りました<br />"); print ("住所:$pref<br />"); ?> </body> </html>

    • ベストアンサー
    • PHP
  • プルダウンとphp+mysqlに関して

    初心者です。教えてください。現在、mysqlのAというテーブルlから持ってきたデータをプルダウンで表示させて、選択したものをmysqlの別テーブルに入力するプログラムをphpで作成しています。ただ、mysqlでAというテーブルからデータは取れているようですが、うまく表示されません。教えていただけるでしょうか? 下記のソースになります。うまくいっていない部分にコメントしています。 <?php //設定 require_once('config.php'); require_once('function.php'); connectDb(); @mysql_query('SET NAMES utf8'); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> <body> <h1>作成</h1> <form action= "kakunin.php" METHOD="post"> <p>日時:<input type="datetime" name="nitizi"></p> <p>年:<input type="text" maxlength="4" name="toshi"></p> <p><label>項目:<textarea name="question" cols="100" ></textarea></label></p> -----------------ここからがうまくいっていません。--------------- <p><label>分類</label> <?php $rs = mysql_query("SELECT * FROM bunrui_table"); $row = mysql_fetch_array($rs); if(!$rs){ die('取得できませんでした'.mysql_error()); } print '<SELECT NAME="mb">'; while($row=mysql_fetch_array($rs)){ print('<p>'); print("<option value=".$row['b_id'].">"); print("</option>"); print('</p>'); } print '</SELECT>'; ?> ーーーーーーーーーーーーーーーーーーーーーーここまでーーーーーーーーーー </p> <p>A <input name="n_a" type="text" size="50"></p> <p>B <input name="n_b" type="text" size="50"></p> <p>C <input name="n_c" type="text" size="50"></p> <p>D <input name="n_d" type="text" size="50"></p> <p> <label for="s">hantei</label> <select name="s" > <option value="1">A</option> <option value="2" >B</option> <option value="3">C</option> <option value="4">D</option> </select> </p> <label>解説<textarea name="k" cols="100" ></textarea> <br></label> <br> <input type="submit" value = "入力"> <input type="reset" value="reset"> </form> </body> </html>

    • ベストアンサー
    • PHP
  • 複数formの使用について

    お世話になります。 複数のFORMを入れ子で使用する方法はありますでしょうか? 下記の記述だと外側のFORMが無効になってしまいます。 表示の順は以下のようにしたいです。 aaa.phpへPOST変数でデータを受け渡して使用します。 <form method="post" name="test1" action="aaa.php"> <input type="text" name="text01" id="textA" value="10"> <input type="text" name="text02 id="textA" value="20"> <input type="text" name="text03" id="textA" value="30"> (上のinputタグ数は動的に変わります) <form method="POST" name="test2" action="bbb.php"> <select name="select"> <option>selectA</option> <option>selectB</option> <option>selectC</option> <input type="submit" name ="read" value="読込"> </select> </form> <input type="submit" value="保存" > </form> 以上、よろしくお願いいたします。

    • 締切済み
    • PHP
  • <form>を使用しないことによる、干渉の回避策

    以下の様に、 セレクトボックスで選択した値を、 ボタン押下でそれぞれのテキストボックスに一括で代入する スクリプトがあるのですが、この様式を使用するつもりであった場所は、他のJavaScriptの関数で定義した<form>と干渉してしまい、 動かない現象が起きてしまいました。 このスクリプト中で、<form>を使用しない形で、 同じ動作をさせるには、どの様に修正したらよろしいでしょうか。 ご教授、よろしくお願いします。 <HEAD>要素 function my1() {a=document.form1.eiji.value; document.form1.eiji2.value=a;} function my2() {a=document.form2.moji.value; document.form2.moji2.value=a;} function my3() {a=document.form3.suuji.value; document.form3.suuji2.value=a;} <BODY>要素 <form name="form1"> <SELECT NAME = "eiji" style="width:150px;"> <OPTION VALUE = "">↓-選んで下さい-</OPTION> <OPTION VALUE = "a">a</OPTION> <OPTION VALUE = "b">b</OPTION> <OPTION VALUE = "c">c</OPTION></SELECT> <input type="text" name="eiji2" style="width:150px;"> </form> <form name="form2"> <SELECT NAME = "moji" style="width:150px;"> <OPTION VALUE = "">↓-選んで下さい-</OPTION> <OPTION VALUE = "あ">あ</OPTION> <OPTION VALUE = "い">い</OPTION> <OPTION VALUE = "う">う</OPTION></SELECT> <input type="text" name="moji2" style="width:150px;"> </form> <form name="form3"> <SELECT NAME = "suuji" style="width:150px;"> <OPTION VALUE = "">↓-選んで下さい-</OPTION> <OPTION VALUE = "1">1</OPTION> <OPTION VALUE = "2">2</OPTION> <OPTION VALUE = "3">3</OPTION></SELECT> <input type="text" name="suuji2" style="width:150px;"> </form> <input type="button" value="入力" onClick="my1();my2();my3();">  

  • 複数選択した情報をそのまま次のステップに移行させる方法

    PHP5.2.4を使用しています。 ちょっとPHPと直接関係があるかは分かりませんがお願いします。 選択メニューで複数選択できるようにnameをkey[]として設定して、 例えばこの場合はaとbを選択します。 送信ボタンを押して次の[form2.php]に移ったとします。 そこでprint_r($_POST['key']);とすると、 Array([0] => 'a' [1] => 'b') と表示されるのですが、この$_POST['key']をhiddenで <input type="hidden" name="key[]" value="{$_POST['key']}"> ともたせたいのですが、このやり方だと次の[form3.php]に 移ったときにはprint_r($_POST['key']);とすると Array としか表示されません(当たり前かもしれませんが・・・) これをなんとかして <input type="hidden" name="key[]" value="{$_POST['key']}"> このような持たせ方で移行させる方法はないでしょうか? つまり、 <input type="hidden" name="key1" value="{$_POST['key'][0]}"> <input type="hidden" name="key2" value="{$_POST['key'][1]}"> とはしたくないのです。 [form1.php] <select name="key[]" size="3" multiple> <option value="a">あ</option> <option value="b">い</option> <option value="c">う</option> </select> [form2.php] <input type="hidden" name="key[]" value="{$_POST['key']}">

    • ベストアンサー
    • PHP
  • セレクトボックスを使った計算式

    テキストボックスに文字を入力してセレクトボックスで四則計算 をプルダウンメニューで選択し、3つ目のテキストボックスに 計算結果を表示するにはどのようにしたらよいのでしょうか? とりあえず途中まで作ってみました。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>スクリプト練習</title> <script type="text/javascript"> <!-- function keisan(){     if(option value="+"){     document.f1.t3.value(document.f1.t1.value + document.f1.t2.value); } } //--> </script> </head> <body> <form name="f1"> <input type="text" size="5" name="t1"> <select name="color2"> <option value="+">+</option> <option value="-">-</option> <option value="×">×</option> <option value="÷">÷</option> </select> <input type="text" size="5" name="t2"> <input type="button" value="=" onClick="keisan()"> <input type="text" size="5" name="t3"> </form> </body> </html> if文を作るところが特にわからず止まっています。 どうかよろしくお願いします。

  • URLにパラメータを記述して結果を得るには?

    URLにパラメータを記述して結果を得るには? フォームに入力する内容を、URLに記述してアクセスしたいのですが、 うまくいきません。どこが悪いのでしょうか。 ■うまくいかないURL(自作) http://www.*********/test.php?AAAA=A1&BBBB=B1&CCCC=C1&DDDD=D1&submit=E1 ■フォームのソース <form action=test.php method=post name=test> <input type=hidden name=AAAA value=A1> <input type=text maxlength=4 name=BBBB value="B1"> <input type=text maxlength=2 name=CCCC value="C1"> <select name="DDDD"> <option value="D1">DDDD1</option> <option value="D2" selected="selected">DDDD2</option> </select> <input type=submit value=E1> <input type=submit NAME="FFFF" value="F1"> </form> ■補足 ソースに対してご意見があるかもしれませんが、ソースは変更できません。 そういった前提でお願い致します。

    • ベストアンサー
    • PHP
  • セレクトメニューの値をメール送信できません

    PHPの勉強がてらにお問い合わせフォームを作ってみたのですが、 セレクトメニューを追加したところ、エラーが出てしまいうまく出来ません。 調べても原因が分からないので、間違っている箇所があれば ご指摘お願いします。 test.html <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>メールフォーム</title> </head> <body> <form action="test.php" method="post"> <select name="test"> <option value="テストA">テストA</option> <option value="テストB">テストB</option> <option value="テストC">テストC</option> </select> <dl> <dt>お名前</dt> <dd><input name="name" type="text" id="name" size="50" maxlength="225" /></dd> <dt>メールアドレス</dt> <dd><input name="email" type="text" id="email" size="50" maxlength="225" /></dd> <dt>お問い合わせ</dt> <dd> <textarea name="message" id="message" cols="50" rows="10"></textarea> </dd> </dl> <input type="submit" value="送信する" /> </form> </body> </html> test.php <?php mb_language("japanese"); mb_internal_encoding("UTF-8"); $to = 'xxx@xxx'; if (isset($_POST['name'])) { $name = $_POST['name']; $body = $_POST['message']; $email = $_POST['email']; $test = $_POST['test']; $succese = mb_send_mail($to,$name,$body,$email,$test); } ?> <?php if($succese){ print('送信しました。'); } else{ print ('送信に失敗しました。'); } ?>

    • ベストアンサー
    • PHP
  • PHP DBデータ登録

    お世話になります。 PHPからDBにレコード登録についてお聞きしたいことがあり、ご質問させていただきました。 初心者のためご教授いただければと思います。 サーバーはさくらインターネット PHPは5.2.12 データベースはMySQL 5.1 <?php ・ ・ ・ $link = mysql_connect($DB_HOST,$DB_USER,$DB_PASS; mysql_select_db($DB_NAME,$link); mysql_set_charset('sjis',$link); $id = addslashes($_POST['id']); $password = addslashes($_POST['password']); $first_name = addslashes($_POST['first_name']); $last_name = addslashes($_POST['last_name']); $year = addslashes($_POST['year']); $month = addslashes($_POST['month']); $day = addslashes($_POST['day']); $query_reg = sprintf("INSERT INTO member (id,password,first_name,last_name,first_kana,last_kana,year,month,day) VALUES('$id','$password','$first_name','$last_name','$first_kana','$last_kana','$year','$month','$day')"); $result_reg = mysql_query($query_reg, $link); ・ ・ ・ ?> <html> <body> <form action="completion.php" method="POST"> <input type="text" name="id"/><br> <input type="text" name="password" /> <input type="text" name="first_name"/> <input type="text" name="last_name"/> <input type="text" name="first_kana" /> <input type="text" name="last_kana" /> <?php //年の入力 print '<select name="year">' . "\n"; $start = date('Y') -29; $end = date('Y') -16; for ($i = $start; $i <= $end; $i++) { $selected = ""; $selected = ($_SESSION["year"] == sprintf("%04d",$i)) ? "selected":""; print '<option value="' . sprintf("%04d",$i) . '" '.$selected.'>' . sprintf("%04d",$i) . '</option>' . "\n"; } print '</select> 年' . "\n"; //月の入力 print '<select name="month">' . "\n"; for ($i = 01; $i <= 12; $i++) { $selected = ""; $selected = ($_SESSION["month"] == sprintf("%02d",$i)) ? "selected":""; print '<option value="' . sprintf("%02d",$i) . '" '.$selected.'>' . sprintf("%02d",$i) . '</option>' . "\n"; } print '</select> 月' . "\n"; //日の入力 print '<select name="day">' . "\n"; for ($i = 01; $i <= 31; $i++) { $selected = ""; $selected = ($_SESSION["day"] == sprintf("%02d",$i)) ? "selected":""; print '<option value="' . sprintf("%02d",$i) . '" '.$selected.'>' . sprintf("%02d",$i) . '</option>' . "\n"; } print '</select> 日' . "\n"; ?> <input type="submit" value="登録"> </form> と記述しています。 ですが、調べたコードを自分の環境に変更しながら記述したのですが、データベースでは真っ白の状態で登録されてしまいます。 (真っ白の状態というよりフォームで入力した内容が表示されない。) phpファイルはShift-JISで記述しています。 どなたかお分かりの方がいらっしゃいましたら、ご教授お願いいたします。

    • ベストアンサー
    • PHP
  • scriptによる読み込みのselect表示

    <script language="javascript" type="text/javascript" src=""></script> で外部ファイルからHTMLを読み込ませ表示させたいのですがなぜかselectが上手く表示されません。 上手く説明できませんが <script language="javascript" type="text/javascript" src="http://www.○○.com/××.php"></script> を貼り付けた部分に http://www.○○.com/に用意した××.phpから <form action="" method="post"> <input type="radio" name="test1" value="1" />r1 <input type="radio" name="test1" value="2" />r2 <input type="checxbox" name="test2" value="1" />c1 <input type="ceckbox" name="test2" value="2" />c2 <select name="test3"> <option value="1">s1</option> <option value="2">s2</option> </select> </form> このようなHTMLを吐き出して表示させたいのですが、redioやchekboxは問題ないのにselectが上手く表示されません。 全くプルダウンが出来ずoption部分を見る事が出来ない状態です。 上記のような方法で表示させる事は無理なのでしょうか? それとも何か対応策はあるのでしょうか? どなたかお教え願えませんでしょうか。

専門家に質問してみよう