
下記のPHPスクリプトにおいて、updateMemo()関数の中で、テストで、
echo 'in update';
として、関数内に入ったら、文字列表示をするようにしているのですが、
更新ボタンを押しても、updateMemo()関数の中に入ってきません。(in update が表示されません)
関数のコールの仕方が、onclick=の部分でまちがっているのでしょうか?
教えていただきたいです。
<?php
//////////////////////////
// メモ内容の閲覧、更新 //
//////////////////////////
$sid = (int)$_GET['sid'];
var_dump($sid);
$con = mysql_connect("*****", "*****", "*****"); // リモートのMySQLデータベースサーバーに接続する
mysql_select_db("*****-ideamemo"); // データベースサーバーに存在する(myPHPAdminで作成済みの)データベースを選択する
$sql = "SET NAMES utf8;";
mysql_query($sql);
$sql = "SELECT * FROM ideamemo_table WHERE sid=$sid;";
$result = mysql_query($sql, $con) or die(mysql_error());
$row = mysql_fetch_row($result);
mysql_close($con);
//$row[0] = (int)$row[0]; // string⇒int にキャスト
echo '<form name="form1" method="POST" action="deleteUpdate.php">';
echo '内容<br>';
echo '<textarea name="textarea" cols="100" rows="30">'.$row[3].'</textarea>';
echo '<br>';
echo '<input type="button" value="更新" onclick="<?php updateMemo('.$sid.');?>">';
//echo '<input type="button" value="更新" onclick="updateMemo();">';
echo '<input type="button" value="削除" onclick="deleteMemo('.$sid.');">';
echo '<input type="button" value="トップページへ" onclick="location.href=\'main.php\'">';
echo '</form>';
var_dump($row[2]);
function updateMemo($sid){
//function updateMemo(){
echo 'in update';
//var_dump($sid);
//exit;
date_default_timezone_set("Japan");
$update = date(Y年m月d日(D)H時i分s秒);
$textarea = $_POST['textarea'];
var_dump($textarea);
var_dump($update);
$con = mysql_connect("*****", "*****", "*****"); // リモートのMySQLデータベースサーバーに接続する
mysql_select_db("LAA0471050-ideamemo"); // データベースサーバーに存在する(myPHPAdminで作成済みの)データベースを選択する
$sql = "SET NAMES utf8;";
mysql_query($sql);
$sql = "UPDATE ideamemo_table SET contents = '$textarea', update_date = '$update' WHERE sid=$sid;";
$result = mysql_query($sql, $con);
mysql_close($con);
//header("Location: main.php");
}
function deleteMemo(int $sid){
echo 'in delete';
$con = mysql_connect("*****", "*****", "*****"); // リモートのMySQLデータベースサーバーに接続する
mysql_select_db("LAA0471050-ideamemo"); // データベースサーバーに存在する(myPHPAdminで作成済みの)データベースを選択する
$sql = "SET NAMES utf8;";
mysql_query($sql);
$sql = "DELETE FROM ideamemo_table WHERE sid=$sid;";
$result = mysql_query($sql, $con);
mysql_close($con);
//header("Location: main.php");
}
?>
No.2ベストアンサー
- 回答日時:
>onclick="<?php updateMemo('.$sid.');
そもそもの考え方が間違っています。
htmlで出力されている時点でonclickの中身は「結果」なので
なにをしても結果は変わりません。
どうしてもやりたいならonclickでajaxを通して
更新用プログラムにsidを渡してやることです
(もしくは普通にgetでページ遷移する)
この回答への補足
get で普通にページ遷移してます。
onclick="alert('(<?php updateMemo($sid)?>')"
で動作しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
composerをインストールしたい...
-
HTML PHP ラジオボタンのイベント
-
php でqiitaのサイトにあったフ...
-
【初心者】XAMPPのapacheの(恐...
-
phpのクラスメソッドの定義が長...
-
ファイルアップロードの上限を...
-
$_SESSIONについて教えて下さい。
-
Postgresの特定のカラムからス...
-
画像ファイルの名前をそのままU...
-
PHP8でWarning:Undefined varia...
-
phpの問い合わせフォームを作っ...
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
SplFileObject を利用したとき...
-
PHPの勉強してます。 配列のと...
-
BASIC認証のフォームをデザイン...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
-
PHPについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
下記エラーメッセージ解決について
-
文字化けするのはなぜですか
-
ループ内に任意行を差し込む処...
-
PHPでMySQLのデータを検索したい
-
Resource id #3 をフィールドの...
-
sqlから多次元配列に要素を格納...
-
テーブルにINSERTができません...
-
MySQLにデータが書き込まれない
-
リストから詳細画面に遷移する...
-
会員登録したらメールが送られ...
-
phpMyadminとPHP上からの違い?
-
データベースから,そのレコー...
-
PHP と Mysql の連携時に発生す...
-
XAMMPが起動しません。
-
DBから同じ文字があるレコード...
-
phpのデータベースを使用したsq...
-
PHP+MYSQL IF文の初歩
-
for文で表示する画像を10件づつ...
-
MySQLのエラー出力
-
次のエラーメッセージ検証 テ...
おすすめ情報