※ ChatGPTを利用し、要約された質問です(原文:ボタンのonclick時における関数コールの仕方)
ボタンのonclick時における関数コールの仕方
下記の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");
}
?>
お礼
ご回答有難うございました。
補足
get で普通にページ遷移してます。 onclick="alert('(<?php updateMemo($sid)?>')" で動作しました。