###前提・実現したいこと
「MySQL 入門以前」という書籍で取り上げられている住所録をその通りにニュ力したつもりですがエラーとなるため、解消したい。
###該当のソースコード
j_kensaku1.php
php
1<body> 2 3 <?php 4 5 extract($_POST); 6 echo " 7 <p>検索する氏名の一部を入力する。</p> 8 <form action=\"j_kensaku1.php\" method=\"post\"> 9 <p>検索氏名:<input type=\"text\" name=\"nam\" value=\"$nam\" size=\"40\"></p> 10 <p><input type=\"submit\" value=\"登録\"> 11 <input type=\"reset\" value=\"リセット\"></p> 12 </form> 13 "; 14 15 if($nam<>''){ 16 mysql_connect('localhost', 'root', '8999'); 17 mysql_select_db('lesson'); 18 19 $sql = "select * from jushoroku where simei like '%$nam%'"; 20 // $sql = "select * from jushoroku WHERE id 1"; 21 // $sql = "select * from jushoroku where match(`simei`) against('%$nam%' in boolean mode)"; 22 $result = mysql_query($sql) or die('query error' . mysql_error()); 23 $rows = mysql_num_rows($result); 24 25 echo "$result"; 26 27 if($rows == 0){ 28 echo "<p>該当データは存在しません。</p>"; 29 } else { 30 while($row = mysql_fetch_array($result)){ 31 echo "<p>"; 32 echo $row["renban"]; 33 echo " "; 34 echo $row["tourokubi"]; 35 echo "<br />"; 36 echo $row["simei"]; 37 echo " "; 38 echo $row["yubin1"]; 39 echo "-"; 40 echo $row["yubin2"]; 41 echo " "; 42 echo $row["jusho1"]; 43 echo $row["jusho2"]; 44 echo "br />TEL"; 45 echo $row["denwa"]; 46 echo " FAX "; 47 echo $row["fax"]; 48 echo " CELL "; 49 echo $row["keitai"]; 50 echo " MAIL "; 51 echo $row["meruado"]; 52 echo "<br />"; 53 echo $row["biko"]; 54 echo "</p>"; 55 echo "<a href=\"j_shusei1.php?id="; 56 echo $row["renban"]; 57 echo "\"> [このレコードを修正する] </a> "; 58 echo "<a href=\"j_sakujo1.php?id="; 59 echo $row["renban"]; 60 echo "\"> [このレコードを削除する] </a><hr>"; 61 } 62 } 63 } 64 ?> 65 66</body>
###試したこと
$namが認識されていない理由が判然としません。
登録したデータを修正するphpが別にあるのですが、そこでも同じエラー
j_shusei1.php
php
1Notice: Undefined variable: nam in C:\xampp\htdocs\first_mysql\j_shusei1.php on line 19 2 3<body> 4<?php 5extract($_POST); 6extract($_GET); 7mysql_connect('localhost','root','8999'); 8mysql_select_db('lesson'); 9 10//MySQLレコード修正 11if($nam<>""){ 12 $sql = "update jushoroku set 13 tourokubi = '$tou', 14 simei = '$nam', 15 yubin1 = '$yu1', 16 yubin2 = '$yu2', 17 jusho1 = '$ju1', 18 jusho2 = '$ju2', 19 denwa = '$tel', 20 fax = '$fax', 21 keitai = '$kei', 22 meruado = '$mai', 23 biko = '$bik' 24 where renban = $ren"; 25 26 mysql_query($sql); 27 echo "レコードの修正が完了しました"; 28 exit; 29} 30 31//修正のためのフォーム 32$sql = "select * from jushoroku where renban = $id"; 33$result = mysql_query($sql); 34$rows = mysql_num_rows($result); 35 if($rows == 0){ 36 echo "<p>該当データがありません。</p>"; 37 } 38 else{ 39 while($row = mysql_fetch_array($result)){ 40 echo "<p>データを修正してください。</p>"; 41 echo "<form action = \"j_shusei1.php\" method = \"post\">"; 42 echo "<p>連番:"; 43 echo $row["renban"]; 44 echo "</p>"; 45 46 echo "<p>登録日:"; 47 echo $row["tourokubi"]; 48 echo "</p>"; 49 50 echo "<p>氏名:<input type = \"text\" name = \"nam\" value =\""; 51 echo $row["simei"]; 52 echo "\" size = \"40\"></p>"; 53 54 echo "<p>郵便番号:<input type = \"text\" name = \"yu1\" value =\""; 55 echo $row["yubin1"]; 56 echo "\" size = \"5\">-<input type = \"text\" name = \"yu2\" value =\""; 57 echo $row["yubin2"]; 58 echo "\" size = \"8\"></p>"; 59 60 echo "<p>住所1:<input type = \"text\" name = \"ju1\" value =\""; 61 echo $row["jusho1"]; 62 echo "\" size = \"50\"></p>"; 63 64 echo "<p>住所2:<input type = \"text\" name = \"ju2\" value =\""; 65 echo $row["jusho2"]; 66 echo "\" size = \"50\"></p>"; 67 68 echo "<p>TEL:<input type = \"text\" name = \"tel\" value =\""; 69 echo $row["denwa"]; 70 echo "\" size = \"20\">"; 71 72 echo "FAX:<input type = \"text\" name = \"fax\" value =\""; 73 echo $row["fax"]; 74 echo "\" size = \"20\"></p>"; 75 76 echo "<p>ケータイ:<input type = \"text\" name = \"kei\" value =\""; 77 echo $row["keitai"]; 78 echo "\" size = \"20\">"; 79 80 echo "MAIL:<input type = \"text\" name = \"mai\" value =\""; 81 echo $row["meruado"]; 82 echo "\" size = \"25\"></p>"; 83 84 echo "<p>備考:<textarea name = \"bik\" rows =\"10\" cols = \"50\">"; 85 echo $row["biko"]; 86 echo "</textarea></p>"; 87 88 echo "<input type = \"hidden\" name = \"tou\" value =\""; 89 echo $row["tourokubi"]; 90 echo "\">"; 91 92 echo "<input type = \"hidden\" name = \"ren\" value =\""; 93 echo $row["renban"]; 94 echo "\">"; 95 96 echo "<p><input type=\"submit\" value=\"登録\">"; 97 echo "<input type=\"reset\" value=\"リセット\"></p>"; 98 echo "</form>"; 99 } 100} 101?> 102</body>
が表れます。
タグの中で定義済みと思うのですが、ちがうでしょうか?
ヒントをいただけますと幸いです。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/10 12:22
退会済みユーザー
2017/12/10 23:36
退会済みユーザー
2017/12/11 00:10