• 締切済み

クラスについて

今作っているプログラムのソースが以下のようです <html> <head> <meta http-equiv="Content-type" content="text/html; charset=UTF-8"> <input type="hidden" name="ie" value="UTF-8"> <title>7-4 MySQLクラスでのデータの表示</title> </head> <body> <b>入力された条件&nbsp;&nbsp;&nbsp;&nbsp;</b> <?php // 検索条件の表示 print "直接入力:"; print $_POST['chokusetsu']; print "&nbsp;&nbsp;&nbsp;&nbsp;読み:"; print $_POST['yomi']; print "&nbsp;&nbsp;&nbsp;&nbsp;画数:"; print $_POST['kakusuu']; print "&nbsp;&nbsp;&nbsp;&nbsp;部首:"; print $_POST['busyu']; print "&nbsp;&nbsp;&nbsp;&nbsp;の検索結果"; $search_key1 = addslashes($_POST['chokusetsu']); $search_key2 = addslashes($_POST['yomi']); $search_key3 = addslashes($_POST['kakusuu']); $search_key4 = addslashes($_POST['busyu']); //print $search_key1; //$search1にはきちんと値が入っている require_once("mysql.php");// MySQLへのID・パスワードの取得をするファイルへのアクセス //require_once("kanjiteigi.php"); //ユーザ定義関数ファイルへのアクセス function kensaku($str1,$str2,$str3,$str4){ $GLOBALS["mysql"] = new MySQL; $GLOBALS["sql"] = "SELECT * FROM tankanji WHERE kanji like '%$str1%' AND (onyomi like '%$str2%' OR kunyomi like '%$str2%') AND kakusuu like '%$str3%' AND busyu like '%$str4%'"; $GLOBALS["mysql"]->query($GLOBALS["sql"]); } // 検索条件を変数に代入してDB内を検索 kensaku($search_key1,$search_key2,$search_key3,$search_key4); //print $sql; //$mysql->query($sql); ?> //require_once("kanjiteigi.php");このような形でコメントアウトしてますが、本当はkanjiteigi.phpの中に function kensaku($str1,$str2,$str3,$str4){ $GLOBALS["mysql"] = new MySQL; $GLOBALS["sql"] = "SELECT * FROM tankanji WHERE kanji like '%$str1%' AND (onyomi like '%$str2%' OR kunyomi like '%$str2%') AND kakusuu like '%$str3%' AND busyu like '%$str4%'"; $GLOBALS["mysql"]->query($GLOBALS["sql"]); } と記述している関数をいれて参照してきたいのですが、kanjiteigi.phpにどのような記述をしていいかで悩んでいます。グローバル変数とかもややこしくて… どなたかクラスに詳しい方おられますでしょうか?? ちなみにkanjiteigi.phpの中に <?php class kanjiteigi{ // ●:ユーザ定義関数 // ○ demo1.htmlで入力する検索条件を入力し、その条件で検索するSQL文の発行し、DB内を検索 // ($str0=検索するDBのテーブル名、$str1=漢字、$str2=読み、$str3=画数、$str4=部首) // DB内を検索 var $mysql; var $sql; function kensaku($str1,$str2,$str3,$str4){ $GLOBALS["mysql"] = new MySQL; $GLOBALS["sql"] = "SELECT * FROM tankanji WHERE kanji like '%$str1%' AND (onyomi like '%$str2%' OR kunyomi like '%$str2%') AND kakusuu like '%$str3%' AND busyu like '%$str4%'"; $GLOBALS["mysql"]->query($GLOBALS["sql"]); } } ?> としてもダメでした

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

みんなの回答

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

前の質問には関数使って回答したのですが理解してもらえたでしょうか・・? 普通のユーザー定義関数から使えないとクラスはまだ無理と思いますよ。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

まず、classの質問をするならPHPのバージョンくらい提示したほうが よいですよ。 で、classでグローバル変数を参照するなんて本末転倒ですね・・・ 最低でも$GLOBALS["mysql"]は$this->mysqlにすべきでは? おそらくクラスの概念を正確に理解していないので、参考書などで 基本を学習するのが解決への近道だと思いますよ

関連するQ&A

  • ユーザー定義関数について

    ユーザー定義関数について悩んでます。 ソースファイル <?php $search_key1 = addslashes($_POST['chokusetsu']); $search_key2 = addslashes($_POST['yomi']); $search_key3 = addslashes($_POST['kakusuu']); $search_key4 = addslashes($_POST['busyu']); print $search_key1; //$search1にはきちんと値が入っている require_once("mysql.php");// MySQLへのID・パスワードの取得をするファイルへのアクセス function kensaku($str1,$str2,$str3,$str4){ $GLOBALS["mysql"] = new MySQL; $GLOBALS["sql"] = "SELECT * FROM tankanji WHERE kanji like '%$str1%' AND (onyomi like '%$str2%' OR kunyomi like '%$str2%') AND kakusuu like '%$str3%' AND busyu like '%$str4%'"; } // 検索条件を変数に代入してDB内を検索 kensaku($search_key1,$search_key2,$search_key3,$search_key4); $mysql->query($sql); ?> なんですが、ユーザー定義関数を用いてDB内部を検索しようとしているのですが、$search_key1,$search_key2,$search_key3,$search_key4の値がうまく関数の中で使われなくて悩んでいます。グローバル関数とやらも自分なりには試しましたが、解決しませんでした。 ようは $search_key1 = addslashes($_POST['chokusetsu']); $search_key2 = addslashes($_POST['yomi']); $search_key3 = addslashes($_POST['kakusuu']); $search_key4 = addslashes($_POST['busyu']); の$search_key1,$search_key2,$search_key3,$search_key4を$str1,$str2,$str3,$str4に各々代入してsql文を発行しようとしてますが、うまくいかないのです。 どなたか、原因がわかる方いらっしゃるでようか??

    • ベストアンサー
    • PHP
  • ヒアドキュメントについて

    何度も質問してしまっていて大変もうしわけないのですが、今度はヒアドキュメントについてわからなくなってしまいました。 ソースは <html> <head> <meta http-equiv="Content-type" content="text/html; charset=UTF-8"> <input type="hidden" name="ie" value="UTF-8"> <title>7-4 MySQLクラスでのデータの表示</title> </head> <body> <b>入力された条件&nbsp;&nbsp;&nbsp;&nbsp;</b> <?php // 検索条件の表示 print "直接入力:"; print $_POST['chokusetsu']; print "&nbsp;&nbsp;&nbsp;&nbsp;読み:"; print $_POST['yomi']; print "&nbsp;&nbsp;&nbsp;&nbsp;画数:"; print $_POST['kakusuu']; print "&nbsp;&nbsp;&nbsp;&nbsp;部首:"; print $_POST['busyu']; print "&nbsp;&nbsp;&nbsp;&nbsp;の検索結果"; $search_key1 = addslashes($_POST['chokusetsu']); $search_key2 = addslashes($_POST['yomi']); $search_key3 = addslashes($_POST['kakusuu']); $search_key4 = addslashes($_POST['busyu']); //print $search_key1; //$search1にはきちんと値が入っている require_once("mysql.php");// MySQLへのID・パスワードの取得をするファイルへのアクセス function kensaku($str1,$str2,$str3,$str4){ $mysql = new MySQL; $sql = "SELECT * FROM tankanji WHERE kanji like '%$str1%' AND (onyomi like '%$str2%' OR kunyomi like '%$str2%') AND kakusuu like '%$str3%' AND busyu like '%$str4%'"; $row=$mysql->query($sql); echo <<<EOT <TABLE width="3000" frame="border" border="3" cellspacing="1" cellpadding="3"> <TBODY> <TR><TH>id</TH><TH>漢字</TH><TH>音読み</TH><TH>訓読み</TH> <TH>特殊読み</TH><TH>ピンイン</TH><TH>部首</TH><TH>画数</TH> <TH>字源</TH><TH>異体字</TH><TH>繁体字</TH><TH>簡体字</TH> <TH>意味</TH><TH>用例</TH><TH>同訓異字</TH><TH>対義語</TH> <TH>品詞</TH><TH>日本語能力検定級</TH><TH>熟語1</TH> <TH>熟語2</TH><TH>熟語3</TH></TR> while ($row = $mysql->fetch()){ <TR> <TD align="center"><?=$row['id']?></TD> <TD align="center"><?=$row['kanji']?></TD> <TD align="center"><?=$row['onyomi']?></TD> <TD align="center"><?=$row['kunyomi']?></TD> <TD align="center"><?=$row['tokusyu']?></TD> <TD align="center"><?=$row['pinin']?></TD> <TD align="center"><?=$row['busyu']?></TD> <TD align="center"><?=$row['kakusuu']?></TD> <TD align="center"><?=$row['jigen']?></TD> <TD align="center"><?=$row['itaiji']?></TD> <TD align="center"><?=$row['hantaiji']?></TD> <TD align="center"><?=$row['kantaiji']?></TD> <TD align="center"><?=$row['imi']?></TD> <TD align="center"><?=$row['yourei']?></TD> <TD align="center"><?=$row['doukun']?></TD> <TD align="center"><?=$row['taigigo']?></TD> <TD align="center"><?=$row['hinshi']?></TD> <TD align="center"><?=$row['nihongo']?></TD> <TD align="center"><?=$row['jyukugo1']?></TD> <TD align="center"><?=$row['jyukugo2']?></TD> <TD align="center"><?=$row['jyukugo3']?></TD></TR> } </TBODY> </TABLE> EOT; } kensaku($search_key1,$search_key2,$search_key3,$search_key4); ?> </body> </html> です。エラーとしてはsyntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRINGが表示されます。エラーの原因がよくわからず、困っています。何か、お気づきの点があれば意見が欲しいです。お願いします。

    • ベストアンサー
    • PHP
  • フレームをまたいだ非表示・表示の切り替えについて

    現在、フレーム&MySQLを用いたページを作成しています。 ページを左と右の二つにわけてて、 左のソースは <html> <head> <title>単漢字学習</title> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <H2>単漢字検索項目</H2> <P><b>検索項目を入力して下さい<P>(複数選択可)</P></b></P> <form name="form1" action="demo2.php" method="post" target="migi"> 漢字直接入力エリア <TEXTAREA name = "chokusetsu" cols="5" rows="2" wrap="off"></TEXTAREA><BR><BR> </TEXTAREA> 漢字読み入力エリア <TEXTAREA name = "yomi"cols="5" rows="2" wrap="off"></TEXTAREA><BR><BR> </TEXTAREA> <P>画数</P> <SELECT name="kakusuu"> <OPTION value="" selected>----画数を選択してください----</OPTION> <OPTION value="1">1画</OPTION> <OPTION value="2">2画</OPTION>   中略 </SELECT><BR><BR> <P>部首</P> <SELECT name="busyu"> <OPTION value="" selected>----部首を選択してください----</OPTION> <OPTION value="一部 いち">一部 いち</OPTION> <OPTION value="│部 ぼう">│部 ぼう</OPTION>   中略 </SELECT><BR><BR><BR> <input type="submit" value="送信"> <input type="reset" value="リセット"> </body> </html> となっていて 右ページのソースは <?php require_once("mysql.php"); ?> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=UTF-8"> <input type="hidden" name="ie" value="UTF-8"> <title>7-4 MySQLクラスでのデータの表示</title> </head> <body> <b>入力された条件&nbsp;&nbsp;&nbsp;&nbsp;</b> <?php print "直接入力:"; print $_POST['chokusetsu']; print "&nbsp;&nbsp;&nbsp;&nbsp;読み:"; print $_POST['yomi']; print "&nbsp;&nbsp;&nbsp;&nbsp;画数:"; print $_POST['kakusuu']; print "&nbsp;&nbsp;&nbsp;&nbsp;部首:"; print $_POST['busyu']; print "&nbsp;&nbsp;&nbsp;&nbsp;の検索結果"; $search_key1 = addslashes($_POST['chokusetsu']); $search_key2 = addslashes($_POST['yomi']); $search_key3 = addslashes($_POST['kakusuu']); $search_key4 = addslashes($_POST['busyu']); $mysql = new MySQL; $sql = "SELECT * FROM tankanji WHERE (onyomi like '%$search_key2%' OR kunyomi like '%$search_key2%') AND kanji like '%$search_key1%' AND busyu like '%$search_key4%' AND kakusuu like '%$search_key3%'"; $mysql->query($sql); // 検索件数の表示 ?> <TABLE width="3000" frame="border" border="3" cellspacing="1" cellpadding="3"> <TBODY> <TR><TH>id</TH><TH>漢字</TH><TH>音読み</TH><TH>訓読み</TH><TH>部首</TH><TH>画数</TH></TR> <?php while($row = $mysql->fetch()){ ?> <TR> <TD align="center"><?=$row['id']?></TD> <TD align="center"><?=$row['kanji']?></TD> <TD align="center"><?=$row['onyomi']?></TD> <TD align="center"><?=$row['kunyomi']?></TD> <TD nowrap align="center"><?=$row['busyu']?></TD> <TD align="center"><?=$row['kakusuu']?></TD></TR> <?php } ?> </TBODY></TABLE> </body> </html> こんな感じです。 現在では左ページのテキストボックスやプルダウンメニューから操作をしてデータを右ページに送らなくても右ページにはテーブルが出現してしまってます。この現象を左ページからデータ入力があった場合のみテーブルを表示させたいのですが、このようなことはできるのでしょうか? 誰か詳しい方お願いします。

    • ベストアンサー
    • HTML
  • 検索機能ソースの脆弱性に関して

    以前こちらでPHPの検索機能のソースに関して質問させて頂いた者です。そのときに、作成したソースに「SQLインジェクション」の可能性があるとのご指摘を受けたのですが、下記のソースを見ていただいて、どこに脆弱性があるのか、わかる方がおられましたら是非教えていただきたく存じます。 拙い知識ながらも、本等で調べて、$_POST['key']で受け取ったデータを、get_magic_quotes_gpcの設定がOFFの場合は、addslashes関数でエスケープ処理をする設定にしたのですが、フォームの入力値に「str' or '1'='1」のようなSQLインジェクション確認用の文字を入れたり、ソースの検証を自分で行った限りでは、エラーが発見できなかったのですが、どこがまずいのでしょうか? ご教示いただけますよう、宜しくお願いいたします。 検索フォーム <form method="post" action="view.php"> <input type="text" name="key"> <input type="submit" name="search" value="検索"> </form> ログ表示PHP(view.php) $key = "%"; if (isset($_POST['key'])) { $key = (get_magic_quotes_gpc()) ? $_POST['key'] : addslashes($_POST['key']); } $sql = "SELECT * FROM shop WHERE todohuken='XX' "; if(strlen($key) > 0){ $key = str_replace(" ", " ", $key); $array = explode(" ", $key); $and = "AND "; for($i=0; $i<count($array); $i++){ $and .= "address LIKE '%$array[$i]%'"; if($i < count($array)-1){ $and .= " AND ";   }  } } mysql_select_db($database_connDB, $connDB); $Recordset1 = mysql_query($sql.$and.";", $connDB) or die(mysql_error());

    • ベストアンサー
    • PHP
  • Dreamweaverで検索フォーム

    はじめまして。 DreamWeaverを使ってPHP+MySQLでWEBアプリを作っております。 ログ表示部分まで完成して、検索用のhtmlフォームから条件を指定して検索結果のみをSELECTして表示させたいのですが、「and検索やor検索」ができなくて困っています。 他に似たような質問をされている方もいますが、書いたソースが異なっているように見受けたので、投稿させていただきました。 宜しくお願いします。 検索フォーム <form method="post" action="view.php"> <input type="text" name="key"> <input type="submit" name="search" value="検索"> </form> ログ表示PHP(view.php) //検索キーワードの初期値を設定する $colname_Recordset1 = "%"; if (isset($_POST['key'])) { $colname_Recordset1 = (get_magic_quotes_gpc()) ? $_POST['key'] : addslashes($_POST['key']); } $sql = "SELECT * FROM shoplist"; if(strlen($colname_Recordset1) > 0){  $colname_Recordset2 = str_replace(" ", " ", colname_Recordset1);  $array = explode(" ", $colname_Recordset2);  $where = "where ";  for($i=0; $i<count($array); $i++){   $where .= "address like '%$array[$i]%'";   if($i < count($array)-1){    $where .= " and ";   }  } } mysql_select_db($database_connTest, $connTest); $Recordset1 = mysql_query($sql.$where, $connTest) or die(mysql_error()); $row_Recordset1 = mysql_fetch_assoc($Recordset1); $totalRows_Recordset1 = mysql_num_rows($Recordset1);

    • ベストアンサー
    • PHP
  • 値が別窓に渡せない

    今故あってPHPの勉強をしているのですが 別窓に値を渡す方法がぜんぜん検討がつかないので質問させてください。 要点=OKボタンが押された時社員ナンバーを左から見て一致部分一致 した社員データを親窓内で表示させその後表示させた社員データを クリックすると別窓で詳細を表示させる。 別窓内で別のSQL文を組んでそれで社員データを表示させる なにぶんこのようなサイトを利用するのは初めてです。 乱筆乱文にて失礼いたします。 親窓ソースは以下の通り <haed> <title>データ詳細</title> </haed> <body BGCOLOR="#55FFFF"> <form action = "no_rist5.php" method = "post"> <?php $str_url = "********"; $str_user = "********"; $str_pass = "********"; $str_db = "********"; $link = mysql_connect($str_url, $str_user, $str_pass); if ($link == false) { die("MySQLの接続に失敗しました。"); } //dbを選択 $sdb = mysql_select_db($str_db, $link)or die("データベース選択に失敗しました。"); print'<p><Meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">'; $n_01_key = $_POST["a_key"];//01 $n_02_key = $_POST["b_key"];//02 $n_03_key = $_POST["c_key"];//03 $n_04_key = $_POST["d_key"];//04 print "社員コード"; print '<input name="a_key" type = "text" style = "ime-mode:disabled" size = "5" MAXlength = "5" value="'.$n_01_key.'">'; print '<input name="b_key" type = "submit" value="OK"><br>'; print '社員コード、社員名'; print '<br>'; if($n_02_key=="OK") { if(empty($n_01_key)) { print '<br><font size=3 color="#FF0000">社員コードが入力されていません。</font>'; } else { if(!preg_match("/^[0-9]*$/",$n_01_key)) { print '<br><font color="#FF0000">社員コードに数字以外の値が入力されました。</font>'; } else { $a_sql = "SELECT number FROM no_rist WHERE number LIKE '$n_01_key%' ORDER BY number"; $b_sql = "SELECT enp_name FROM no_rist WHERE number LIKE '$n_01_key%' ORDER BY number"; $rs1 = mysql_query($a_sql,$link)or die(mysql_error()); $rs2 = mysql_query($b_sql,$link)or die(mysql_error()); if($rs1!=NULL) { while($arr_item1 = mysql_fetch_assoc($rs1) and $arr_item2 = mysql_fetch_assoc($rs2)) { foreach($arr_item1 as $key1 => $n_03_key) { foreach($arr_item2 as $key2 => $n_04_key) { print '<a href="http://localhost/no_rist6.php" target="rist">'; print '<input name="c_key" type = "submit" value="'.$n_03_key.'">'; print '</a>'; print '<font color="#55FFFF">■■</font>'; print $n_04_key; } } print "<br>\n"; } } else { print '<br><font size=3 color="#ff0000">社員データがありません。</font>'; } } } } print "\n"; mysql_close($link); ?> </form> </body> </html>

    • 締切済み
    • PHP
  • phpでDBを検索したい

    最近PHP+mysqlの勉強を始めて、入門書片手に試行錯誤している状況です。 phpで検索ボックスを作って、データベースから名前を引っ張ってきたいのですが、うまくいきません… 因みに同じページに表示したいと思っています。 あと、多分使っている関数が古いとは思いますが、PDOやmysqliとかにすると今より更に知識不足でエラーになってしまうので、とりあえず古いままで使っていますが気にしないでください… データベース名:mydb テーブル名:table id | name | ---+------------+-- 1 | 名前太郎 | 2 | 氏名太郎 | 3 | 名字一郎 | 4 | 名前五郎 | 5 | 氏名花子 | こういうテーブルがあったとして、 名前 というキーワードで検索したときに、セレクトボックスに 名前太郎と名前五郎の2つが表示できたらと思っています。 根本的に間違っているのかもしれませんが、どのように変えればいいのかご教示いただけると幸いです。 何卒よろしくお願い致します。 <?php ちょっとした別の処理~省略 print <<<_FORM_ <label for="name_search">名前検索</label> <form action="" method="post"> <input name="u_name" type="text" id="u_namae" value="" /> <input type="submit"> </form> _FORM_; if (isset($_POST['u_name'])){ $kensaku = htmlspecialchars($_POST['u_name']); $kensaku = "'%". $kensaku ."%'"; require_once('dbconnect.php'); $sql = sprintf("SELECT * FROM table WHERE name LIKE $kensaku "); $recordSet = mysql_query($sql); print <<<_FORM_ <select name="u_name"> _FORM_; while ($kekka = mysql_fetch_assoc($recordSet)) { $val=htmlspecialchars($kekka['name']); ?> <option value="<?php print(htmlspecialchars($kekka['id'])); ?>"> <?php print(htmlspecialchars($kekka['name'])); ?> </option> <?php } print <<<_FORM_ </select> _FORM_; } ?>

    • 締切済み
    • PHP
  • PHPとMysqlによる正規表現について

    データベースに登録した情報から検索するコードを書いたのですが、どう入力してもデータベースに登録した情報がすべて出てきてしまいます。 入力フォームに検索した条件だけ表示させたいです。 htmlの入力フォームを作り、そこから$_POSTでPHPに渡しました。 コードは以下のとおりです。 PHPの本を読んで見よう見まねで書いたのですが、さっぱりです。 ご教授よろしくお願いします。 <html> <head><title>検索php</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <?php $host="localhost"; if(!$conn=mysql_connect($host,"usr","passwrd")){ die("データベース認証エラー.<br />"); } mysql_select_db("usr",$conn); $condition=""; if(isset($_POST["name"])&&($_POST["name"]!="")){ $name=mysql_real_escape_string($_POST["name"]); $name=str_replace("%","\%",$name); $condition="WHERE table_a LIKE \"%".$name."%\""; } if(isset($_POST["phone"])&&($_POST['phone']!="")){ $phone=mysql_real_escape_string($_POST["phone"]); $phone=str_replace("%","\%",$phone); if($condition==""){ $condition="WHERE table_b LIKE \"%".$phone."%\""; }else{ $condition.="AND tabe_b LIKE \"%".$phone."%\""; } } $sql="SELECT * FROM table ".$condigition."ORDER BY table_id LIMIT 0,30"; $res=mysql_query($sql,$conn); print("<table border=\"1\">"); print("<tr><td>会社名</td><td>電話番号</td></tr>"); while($row=mysql_fetch_array($res)){ print("<tr>"); print("<td>".$row['table_a']."</td>"); print("<td>".$row['table_b']."</td>"); print("</tr>\n"); } print("</table>"); mysql_free_result($res); ?> </body> </html>

    • ベストアンサー
    • PHP
  • ヒアドキュメントについて

    以前質問しましたが、解決できませんでした。 ヒアドキュメント内での多次元配列の扱いで悩んでいます。 ソースは <?php require_once("mysql.php");// MySQLへのID・パスワードの取得をするファイルへのアクセス function kensaku($str1,$str2,$str3,$str4){ $mysql = new MySQL; $sql = "SELECT * FROM tankanji WHERE kanji like '%$str1%' AND (onyomi like '%$str2%' OR kunyomi like '%$str2%') AND kakusuu like '%$str3%' AND busyu like '%$str4%'"; $row=$mysql->query($sql); echo <<<EOM <TABLE width="3000" frame="border" border="3" cellspacing="1" cellpadding="3"> <TBODY> <TR><TH>id</TH><TH>漢字</TH><TH>音読み</TH><TH>訓読み</TH> <TH>画数</TH><TH>部首</TH></TR> while ($row = $mysql->fetch()){ <TR> <TD align="center"><?={$row['id']}?></TD> <TD align="center"><?={$row['kanji']}?></TD> <TD align="center"><?={$row['onyomi']}?></TD> <TD align="center"><?={$row['kunyomi']}?></TD> <TD align="center"><?={$row['kakusuu']}?></TD> <TD align="center"><?={$row['busyu']}?></TD></TR> } </TBODY> </TABLE> EOM; } なんですが、うまくいきません。 $row=$mysql->query($sql); のあとでprint文で$rowの中身を表示させたらきちんと入っているのでecho <<<EOM以降がおかしいものと思います。 エラーの内容としてはsyntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRINGと表示されてしまいます。これがどうしてもやらないといけないことでしてものすごく困っています。。初心者の質問で大変申し訳ないです。

    • ベストアンサー
    • PHP
  • ログイン認証で

    ログイン認証で <? session_start(); $con=mysql_connect(localhost,***,***); mysql_select_db("***"); $passwd=addslashes($_POST['passwd']); $email=addslashes($_POST['email']); $name=addslashes($_POST['name']); $sql="select * from users where email='{$_POST['email']}' and passwd='{$_POST['passwd']}'"; $_session['name']=$name; $rs=mysql_query($sql); if(mysql_num_rows($rs)>0){ $_session['login']=1; header('location:'. "top.php"); exit; } mysql_close($con); ?> <html> <head> <title> </title> </head> 認証失敗 <br> <a href="login.php"> 戻る</a> <body> と入力したのですが、 emailとpasswdに合ったnameを違うページに表示したいのに、それができないんです・・・ ようこそ<? $_SESSION['name']?> さん<br> どこかおかしなところありますか?

    • ベストアンサー
    • PHP

専門家に質問してみよう