• 締切済み

すいません。PHPの削除について

bm_hiroの回答

  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.9

> <?php "<input type='hidden' value='' name='delno' />"; ?> この件に関してですが、俺の環境では 現象を再現できませんでしたので、 理由は さっぱり 分かりません。 なんか、どこか 設定が違うのだとは思いますが、具体的には 分かりません。 お力になれず 申し訳ありません。

ikam2010
質問者

補足

いえいえ ありがとうございます!おそらく、どこがしかの設定の問題だとは思いますが、会社の管理画面ですので、別の箇所も作らなければならず、じっくり考える事が出来ません。すいません。でも、本当にありがとうございました!

関連するQ&A

  • php データ削除

    一覧画面に更新、削除というボタンをつくり番号を受け取って削除したいのですが、削除ボタンを押しても画面は変わるのですが削除されません 助けてください 番号 int プライマリーキー 氏名 varchar 住所 varchar 一覧画面のソース <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>一覧画面</title> </head> <body> <BLOCKQUOTE> <BR>一覧画面<BR><BR> <?php $con=mysqli_connect("localhost","root","admin","db_test"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $result = mysqli_query($con,"SELECT * FROM tbl_test"); echo "<table border='1'> <tr> <th>番号</th> <th>氏名</th> <th>住所</th> </tr>"; while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['番号'] . "</td>"; echo "<td>" . $row['氏名'] . "</td>"; echo "<td>" . $row['住所'] . "</td>"; echo "<form action=koushin_input.php method=post>"; echo "<td><input type=submit value=更新></td>"; echo "</form>"; echo "<form action=sakujo.php method=post>"; echo "<td><input type=submit value=削除></td>"; echo "</form>"; echo "</tr>"; } echo "</table>"; mysqli_close($con); ?> <BR><BR><BR> <A HREF="http://localhost/regist.php"> <INPUT TYPE = "SUBMIT" VALUE = "新規登録"></A> </BLOCKQUOTE> </body> </html> 削除ソース  sakujo.php <html> <body> <? // データベースに接続 if(!$con=mysql_connect("localhost","root","admin")){ echo"接続エラー"; exit; } // データベースを選択 if(!mysql_select_db("db_test",$con)){ echo"データベース選択エラー"; exit; } // DELETE文を実行 $sql = "delete from tbl_test where '番号'= 番号; if(!$res=mysql_query($sql)){ echo "SQL実行時エラー"; exit; } // データベースから切断 mysql_close($con); // 登録完了メッセージの表示 echo "削除完了"; ?> </body> </html> どういう風にpostで渡せばいいですか?

    • ベストアンサー
    • MySQL
  • php + MySQLでデータ削除 更新

    一覧画面に更新、削除というボタンをつくり番号を受け取って削除したいのですが、削除ボタンを押しても画面は変わるのですが削除されません 助けてください 番号 int プライマリーキー 氏名 varchar 住所 varchar 一覧画面のソース <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>一覧画面</title> </head> <body> <BLOCKQUOTE> <BR>一覧画面<BR><BR> <?php $con=mysqli_connect("localhost","root","admin","db_test"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $result = mysqli_query($con,"SELECT * FROM tbl_test"); echo "<table border='1'> <tr> <th>番号</th> <th>氏名</th> <th>住所</th> </tr>"; while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['番号'] . "</td>"; echo "<td>" . $row['氏名'] . "</td>"; echo "<td>" . $row['住所'] . "</td>"; echo "<form action=koushin_input.php method=post>"; echo "<td><input type=submit value=更新></td>"; echo "</form>"; echo "<form action=sakujo.php method=post>"; echo "<td><input type=submit value=削除></td>"; echo "</form>"; echo "</tr>"; } echo "</table>"; mysqli_close($con); ?> <BR><BR><BR> <A HREF="http://localhost/regist.php"> <INPUT TYPE = "SUBMIT" VALUE = "新規登録"></A> </BLOCKQUOTE> </body> </html> 削除ソース  sakujo.php <html> <body> <? // データベースに接続 if(!$con=mysql_connect("localhost","root","admin")){ echo"接続エラー"; exit; } // データベースを選択 if(!mysql_select_db("db_test",$con)){ echo"データベース選択エラー"; exit; } // DELETE文を実行 $sql = "delete from tbl_test where '番号'= 番号; if(!$res=mysql_query($sql)){ echo "SQL実行時エラー"; exit; } // データベースから切断 mysql_close($con); // 登録完了メッセージの表示 echo "削除完了"; ?> </body> </ht

    • 締切済み
    • PHP
  • 次の掲示板PHPにアクセスすると

    <?php echo "<form method=\"post\" action=\"{$_SERVER['PHP_SELF']}\">"; echo "本文:<input type=\"text\" size=\"80\" name=\"contents\">"; echo "<input type=\"submit\" value=\"送信\">"; echo "</form>"; $con=pg_connect("dbname=gomidb user=gomiuser host=127.0.0.1"); $contents=$_POST['contents']; if ($contents) { $contents=pg_escape_string(htmlspecialchars($contents)); pg_query($con,"insert into gomibbs(contents) values('$contents')"); } $rs=pg_query($con,"select * from gomibbs"); while($row=pg_fetch_array($rs)) { print $row['no'].":".$row['contents']."<br>"; } pg_close($con); ?> エラーになります ところが pg_query($con,"insert into gomibbs(contents) values('$contents')"); の所を pg_query($con,"insert into gomibbs(no,contents) values(1,'$contents')"); とすれば一度だけOKです どうすれば良いでしょうか?

    • ベストアンサー
    • PHP
  • PHP 未定義の変数について

    以前にも質問しましたが、新たに壁にぶつかってしまったので再度投稿させていただきます。 ToDoリストを作っており、予定を入力フォームからデータベースへ登録、表示することまではできました。 現在は、表示されている全ての予定レコードの右端に"更新"と"削除"のボタンを設置し、それぞれの動作を行いたいと考えております。 それぞれのボタンに<input type=hidden name=No value='.$row[No].'>と記述し、更新箇所を入力するフォームを別ファイルで用意してあります。 しかし"更新"ボタンを押しても、 Notice: Undefined variable: No in C:\××××××××××\input_update.php on line 17 データは削除済か、もしくは存在しません。 というエラーメッセージが出てしまいます。(※"データは削除済みか~"は自分で記述したメッセージです。)実際にデータはあるので、変数の受け渡しがうまくいってないと思うのですが・・・ 調べると、「未定義の変数があるよ」という事なのでしょうが、未定義の変数というものが分かりません。 all_todo.php <?php $conn = mysql_connect("localhost","root","×××"); if($conn == false) {die("MySQL 接続エラー");} mysql_set_charset("sjis"); mysql_select_db("todo"); $sql="SELECT * FROM `todo`"; $todo_list=mysql_query($sql); while($row=mysql_fetch_array($todo_list)) { echo("<tr id='honbun'>"); echo("<td>"."<input id='c_change' type='checkbox' name='check' value='check'>".$row["済"]."</td>"); echo("<td id='No'>".$row["No"]."</td>"); echo("<td id='title'>".$row["タイトル"]."</td>"); echo("<td id='todo'>".$row["内容"]."</td>"); echo("<td id='limit'>".$row["期限"]."</td>"); echo("<td id='priority'>".$row["優先度"]."</td>"); echo("<form action=input_update.php method=post>"); echo("<input type=hidden name=No value='.$row[No].'>"); echo("<td><input type=submit value=更新></td>"); echo("</form>"); echo("<form action=input_update.php method=post>"); echo("<input type=hidden name=No value='.$row[No].'>"); echo("<td><input type=submit value=削除></td>"); echo("</form>"); echo("</tr>\n"); } mysql_free_result($todo_list); mysql_close(); ?> input_update.php <?php $conn = mysql_connect("localhost","root","×××"); if($conn == false) {die("MySQL 接続エラー");} mysql_set_charset("sjis"); mysql_select_db("todo"); $sql="SELECT `No`,`タイトル`,`内容`,`期限`,`優先度` FROM `todo` WHERE `No`='$No'"; $todo_list=mysql_query($sql); if(!$row=mysql_fetch_array($todo_list)) {die("データは削除済か、もしくは存在しません。");} echo "<form action=update.php method=post>"; echo "タイトル<input type=text name=タイトル value=\"" . $row["title"] . "\"> "; echo "内容<input type=text name=内容 value=\"" . $row["todo"] . "\"> "; echo "期限<input type=text name=期限 value=\"" . $row["limit"] . "\"> "; echo "優先度<input type=text name=優先度 value=" . $row["priority"] . "> "; echo "<input type=hidden name=id value=" . $id . ">"; echo "<input type=submit value=更新>"; echo "</form>"; mysql_free_result($todo_list); mysql_close(); ?> というコードです。 私の推測では、 >{die("データは削除済か、もしくは存在しません。");} というメッセージが表示されていることから、フォームからデータの受け渡しは出来ているのだと思います。ただ、意図した変数が渡されていないと思うのですが、フォームのvalue='.$row[No].'という記述に問題があるのか、はたまたname=Noの部分か、SELECT文の記述が悪いのかまったく分かりません。 どなたか知恵をお貸しください。 お願いいたします。

    • ベストアンサー
    • PHP
  • PHP & MySQL 抽出したデータの1番目が出力されない

    学校の課題で、PHP & MySQLを使ってウェブを作っています。 BBTapahtumaテーブルからJas_nroをキーにデータを抽出して、Tap_nroとTap_nimiを降順に出力します。 実行してもエラーはでません。現在BBTapahtumaには10件、該当Jas_nroのレコード数は5件(Tap_nro:10-8-7-6-1)ですが、表示されるのは4件(Tap_nro: 8-7-6-1)で、一番初めにくるべきデータが出てきません。where Jas_nro=$no を外し全レコード抽出(Tap_nro: 9-8-7-6-5-4-3-2-1)したり、order by Tap_nro desc を外して昇順(Tap_nro: 6-7-8-10)にしても、やはり1件目に当たるデータが出力されません。 $_SESSION['no']=$noは「1」が入っており、MySQL consoleで「select * from BBTapahtuma where Jas_nro=1 order by Tap_nro desc;」を実行すると、5件出てくるのでその次の出力の方に誤りがあるのだと思います。 テーブルは下記の3項目。テーブルを閉じた後に Lisa (別ページへのリンクボタン)があります。 Tap_nro, Tap_nimi, Lisatietoja(各データの詳細へのリンクボタン) ソースは次の通りです。どこに間違いがあるのか見つけられません。よろしくお願いいたします。 <?php $host="localhost"; $user="xxxx"; $password="xxxx"; $dbname="bb"; $yhteys = mysqli_connect($host, $user, $password, $dbname); $no = $_SESSION['no']; $sql = "select * from BBTapahtuma where Jas_nro=$no order by Tap_nro desc"; if(!$tulos=mysqli_query($yhteys, $sql)) { echo "error"; exit; } if(!$row=mysqli_fetch_array($tulos, MYSQLI_BOTH)) { echo "tiedot eivat ole tietokannassa."; } echo "<table border=0>"; echo "<tr><td>Numero &nbsp&nbsp</td><td>Tapahtuman nimi &nbsp&nbsp</td><td></td></tr>"; while($row=mysqli_fetch_array($tulos, MYSQLI_BOTH)){ echo "<tr>"; echo "<td>". $row['Tap_nro'] ."</td>"; echo "<td>". $row['Tap_nimi'] ."</td>"; echo "<form action='omatkeikkatiedot11.php' method='POST'>"; echo "<span class='button'><input type=hidden name=Tap_nro value=". $row['Tap_nro'] .">"; echo "<td><input type=submit name=lisa id=lisa value='Listietoja'></td></form></span></tr>"; } echo "</table>"; echo "<br><br>"; echo "<form action=omatkeikkatiedot2.php method=POST>"; echo "<div class='button'><input type=hidden name=Jas_nro value=". $row['Jas_nro'].">"; echo "<input type=submit name='Lisaa' id='laheta' value ='Lisaa'>"; echo "</div></form>"; ?>

    • ベストアンサー
    • PHP
  • PHPでMySQLデータを呼び出し、whileループの中で別テーブルのデータをループするには

    MySQLからuserというテーブルのデータを呼び出し、表示すると同時にフォームとしてデータの変更もできるプログラムを作成しています。 その項目の中に別のusergrというテーブルのデータをリストボックスで表示させたいのですが、うまくいきません。 現状では下記のスクリプトでuserの1番のデータだけが表示されている状態です。(リストボックスも問題なく表示はされていますが…) まわりに聞ける人もいず、本などを見よう見まねで作成したため、根本的に誤ってるところがあるかと思いますが、どうかアドバイス頂けませんでしょうか。 $sql = "SELECT * FROM user"; $mysql->query($sql); while($row = $mysql->fetch()){ $no = $row["no"]; $name = $row["name"]; $division = $row["division"]; $email = $row["email"]; $tel = $row["tel"]; $group = $row["group"]; echo <<<EOT <td align="center">$no</td> <td align="center"><input type="text" name="name[$no]" value="$name" size="10"></td> <td align="center"><input type="text" name="division[$no]" value="$division" size="20"></td> <td align="center"><input type="text" name="email[$no]" value="$email" size="30"></td> <td align="center"><input type="text" name="tel[$no]" value="$tel" size="10"></td> <td align="center"> <select name="group[$no]"> EOT; $sql = "SELECT * FROM usergr LEFT JOIN user ON usergr.grno=user.group"; $mysql->query($sql); while($row = $mysql->fetch()){ $group = $row["group"]; $grno = $row["grno"]; $grname = $row["grname"]; if($row["grno"]==$group){ echo "<option value=\"{$row['grno']}\" selected=\"selected\">{$row['grname']}</option>"; } else { echo "<option value=\"{$row['grno']}\">{$row['grname']}</option>"; } } echo <<<EOT </select> </td> <td align="center"><input type="submit" name="submit_upd[$no]" value="変更"> <input type="submit" name="submit_del[$no]" value="削除"></td> </tr> EOT; }

    • ベストアンサー
    • PHP
  • PHP + MySQLを使用して詳細画面を開く

    いま下記のソースで一覧画面が表示されます! 氏名をクリックしたら別ウインドウで詳細画面を表示させたいのですがやり方がわかりません 参考までに教えてください <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>一覧画面</title> </head> <body> <BLOCKQUOTE> <BR>一覧画面<BR><BR> <?php $con=mysqli_connect("localhost","root","password","db_test"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $result = mysqli_query($con,"SELECT * FROM tbl_test"); echo "<table border='1'> <tr> <th>番号</th> <th>氏名</th> <th>住所</th> </tr>"; while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['番号'] . "</td>"; echo "<td>" . $row['氏名'] . "</td>"; echo "<td>" . $row['住所'] . "</td>"; echo "</tr>"; } echo "</table>"; mysqli_close($con); ?> <BR><BR><BR> <A HREF="http://localhost/regist.php"> <INPUT TYPE = "SUBMIT" VALUE = "新規登録"></A> </BLOCKQUOTE> </body> </html>

    • ベストアンサー
    • MySQL
  • 訂正版 次のPHPにアクセス

    するとエラーになります ただしあらかじめgomidbで以下をしてます create table gomibbs(no serial primary key,contents text); grant all on gomibbs to gomiuser; <?php echo "<form method=\"post\" action=\"{$_SERVER['PHP_SELF']}\">"; echo "本文:<input type=\"text\" size=\"80\" name=\"contents\">"; echo "<input type=\"submit\" value=\"送信\">"; echo "</form>"; $con=pg_connect("dbname=gomidb user=gomiuser host=127.0.0.1"); $contents=$_POST['contents']; if($contents) { $contents=pg_escape_string(htmlspecialchars($contents)); pg_query($con,"insert into gomibbs(contents) values('$contents')"); } $rs=pg_query($con,"select * from gomibbs"); while($row=pg_fetch_array($rs)) { print $row['no'].":".$row['contents']."<br>"; } pg_close($con); ?> エラーになります ところが pg_query($con,"insert into gomibbs(contents) values('$contents')"); の所を pg_query($con,"insert into gomibbs(no,contents) values(1,'$contents')"); とすれば一度だけOKです どうすれば良いでしょうか?

    • ベストアンサー
    • PHP
  • データーベース接続 入力フォーム

    phpでデータベースを作成しています! 登録フォームからデータを入力して新しくデータを追加したいと思います! 番号 int プライマリーキー 氏名 varchar 住所 varchar です いまのプログラムは番号が重複じゃなかったら氏名と住所空白でも登録できてしまいます! 全部しないとエラーメッセージが返ってきて入力しなおさせるにはどうしたらいいですか? if文の書き方を教えてください また番号を空白だとエラーが返ってきます。どうしたらいいですか? 入力フォームのプログラム(regist.php) <HTML> <HEAD><TITLE>新規登録</TITLE></HEAD> <BODY> <BLOCKQUOTE> <FORM ACTION = "toroku.php" METHOD = "POST"> <BR><BR>登録画面<BR><BR> 番号 <INPUT TYPE="NAMBER" NAME = "ID"><BR><BR> 氏名 <INPUT TYPE="TEXT" NAME = "NAME"><BR><BR> 住所 <INPUT TYPE="TEXT" NAME = "ADDR"><BR><BR> <A HREF="http://localhost/test5.php"> <INPUT TYPE = "SUBMIT" VALUE = "登録する"></A> <A HREF="http://localhost/test5.php">一覧に戻る</A> </BODY> </BLOCKQUOTE> </FORM> </BODY> </HTML> 追加登録のプログラム(toroku.php) <HTML> <HEAD><TITLE>登録完了</TITLE></HEAD> <BODY> <?php $con=mysqli_connect("localhost","root","パスワード","db_test"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $sql="INSERT INTO tbl_test (番号, 氏名, 住所) VALUES ('$_POST[ID]','$_POST[NAME]','$_POST[ADDR]')"; if (!mysqli_query($con,$sql)) { die('Error: ' . mysqli_error($con)); } echo "登録完了しました"; mysqli_close($con); ?> <BR><BR> <A HREF="http://localhost/test5.php"> <INPUT TYPE = "SUBMIT" VALUE = "一覧へ戻る"></A> </BODY> </HTML> 表示のプログラム(test5.php) <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>一覧画面</title> </head> <body> <BLOCKQUOTE> <BR>一覧画面<BR><BR> <?php $con=mysqli_connect("localhost","root","パスワード","db_test"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $result = mysqli_query($con,"SELECT * FROM tbl_test"); echo "<table border='1'> <tr> <th>番号</th> <th>氏名</th> <th>住所</th> </tr>"; while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['番号'] . "</td>"; echo "<td>" . $row['氏名'] . "</td>"; echo "<td>" . $row['住所'] . "</td>"; echo "</tr>"; } echo "</table>"; mysqli_close($con); ?> <BR><BR><BR> <A HREF="http://localhost/regist.php"> <INPUT TYPE = "SUBMIT" VALUE = "新規登録"></A> </BLOCKQUOTE> </body> </html> 見づらくってごめんなさい

    • ベストアンサー
    • PHP
  • PHPでMySQLにデーターを追加するところで壁に当たってしまいました

    PHPでMySQLにデーターを追加するところで壁に当たってしまいました。 PHP5.3&MYSQL5.1 1.フォームへ入力 2.確認画面 3.MySQLへデーター追加 1.form <html> <head><title></title></head> <body> <form method="post" action="conf.php"> <table> <tr><th>番号</th><td><input type="text" name="id" /></td></tr> <tr><th>タイトル</th><td><input type="text" name="title" /></td></tr> <tr><th>テキスト</th><td><textarea name="cont" cols="40" rows="5" /></textarea></tr> <tr><th>日付け</th><td><input type="text" name="update" size="10" /></td></tr> </table> <input type="submit" value="送信" /><input type="reset" value="リセット" /> </form> </body> </html> 2.確認画面 <html> <head><title></title></head> <body> <table> <tr><th>番号</th><td><?php echo htmlspecialchars($_POST["id"]) ?></td></tr> <tr><th>タイトル</th><td><?php echo htmlspecialchars($_POST["title"]) ?></td></tr> <tr><th>テキスト</th><td><?php echo htmlspecialchars($_POST["cont"]) ?></td></tr> <tr><th>日付け</th><td><?php echo htmlspecialchars($_POST["update"]) ?></td></tr> </table> <form method="post" action="upld.php"> <input type="hidden" name="did" value="<?php echo htmlspecialchars($_POST["id"]) ?>" /> <input type="hidden" name="title" value="<?php echo htmlspecialchars($_POST["title"]) ?>" /> <input type="hidden" name="cont" value="<?php echo htmlspecialchars($_POST["cont"]) ?>" /> <input type="hidden" name="update" value="<?php echo htmlspecialchars($_POST["update"]) ?>" /> <input type="submit" value="登録" /> </form> </body> </html> 3.MySQLへデーター追加 <?php $Con = mysql_connect("localhost","root",""); if ($Con == false) {dir ("MySQLの接続に失敗。");} if (!mysql_select_db("phpdata",$Con)) {dir ("データーベース接続に失敗。");} $sql = "insert into daimoku(id,title,cont,update) values('".$_POST["id"]."','".$_POST["title"]."','".$_POST["cont"]."','".$_POST["update"]."')";//SQL文の作成 $res = mysql_query($sql) or die(mysql_error());//クエリの実行 mysql_close($Con);//切断 ?> <html> <head> <title></title> </head> <body> <p>ご登録ありがとうございました。</p> <a href="01.php">戻る</a> </body> 以上のコードでデーターの追加が出来ません。 どなたか教えていただけないでしょうか?

    • ベストアンサー
    • PHP