Saki0506
@Saki0506 (さき おぐら)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

XAMPPでPHPでMYSQLのデータを修正したいが修正ページのファイルに移動しない

解決したいこと

春休みで時間もあるので「気づけばプロ並みPHP改訂版」という本でショッピングサイトを作成しています。
XAMPPを使用してまずはSQLと連携してスタッフリストを作っています。

エラーが出るまでにやったこと
1.コンソールで「mst_staff」というSQLテーブルの作成
2.以下が表示されるhtmlファイルの作成

Screenshot 2021-04-09 at 00.20.45.png

3.「OK」を押すとスタッフ名と追加の確認の画面
4.追加完了の画面
5.リストの修正をするためにスタッフ一覧が出る画面(staff_list.php)
6.「5」でスタッフを選んで「OK]を押すとスタッフの名前とパスワードを修正する画面(この画面を作っているのですがエラーが出ます)

発生している問題・エラー

Object not found!
The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

If you think this is a server error, please contact the webmaster.

Error 404
localhost
Apache/2.4.46 (Unix) OpenSSL/1.1.1h PHP/8.0.0 mod_perl/2.0.11 Perl/v5.32.0

該当するソースコード

6番のコードになります。ファイル名は「staff_edit.php」

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ろくまる農園</title>
</head>
<body>

<?php

try
{

$staff_code=$_POST['staffcode'];

$dsn='mysql:dbname=shop;host=localhost;charset=utf8';
$user='root';
$password='';
$dbh=new PDO($dsn,$user,$password);
$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

$sql='SELECT name FROM mst_staff WHERE code=?';
$stmt=$dbh->prepare($sql);
$data[]=$staff_code;
$stmt->execute($data);

$rec=$stmt->fetch(PDO::FECTCH_ASSOC);
$staff_name=$rec['name'];

$dbh=null;

}
catch (Exception $e)
{
    print'ただいま障害により大変ご迷惑をおかけしております。';
    exit();
}

?>

スタッフ修正<br />
<br />
スタッフコード<br />
<?php print $staff_code;?>
<br />
<br />
<form method="post" action="staff_edit_check.php">
<input type="hidden" name="code" value="<?php print $staff_code;?>">
スタッフ名<br />
<input type="text" name="name" style="width:200px" value="<?php print $staff_name;?>"><br />
パスワードを入力してください。 <br />
<input type="password" name="pass" style="width:100px"><br />
パスワードをもう一度入力してください。<br />
<input type="password" name="pass2" style="width:100px"><br />
<br />
<input type="button" onclick="history.back()" value="戻る">
<input type="submit" value="OK">
</form>


</body>
</html>

一応、5番のソースコードも載せておきます。ファイル名は「staff_list.php」

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> ろくまる農園</title>
</head>
<body>

<?php

try
{

$dsn='mysql:dbname=shop;host=localhost;charset=utf8';
$user='root';
$password='';
$dbh=new PDO($dsn,$user,$password);
$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

$sql='SELECT code,name FROM mst_staff WHERE 1';
$stmt=$dbh->prepare($sql);
$stmt->execute();

$dbh=null;

print 'スタッフ一覧<br/><br/>';

print '<form method="post" action="staff_edit.php">';
while(true)
{
    $rec=$stmt->fetch(PDO::FETCH_ASSOC);
    if($rec==false)
    {
        break;
    }
    print '<input type="radio" name="staffcode" value="'.$rec['code'].'">';
    print $rec['name'];
    print '<br />';
}
print '<input type="submit" value="修正">';
print '</form>';

}
catch (Exception $e)
{
     print 'ただいま障害により大変ご迷惑をお掛けしております。';
     exit();
}

?>

</body>
</html>

自分で試したこと

本も何度か読み直してサンプルコードのコピペもしてみましたが解決できませんでした。
もし可能性のあることでもいいので教えていただけると大変、助かります。テキストブックなので私が実際に作っていないので説明も抽象的で分かりにくいと思いますがよろしくお願いします。

0

1Answer

Error 404

404とはHTTPステータスコードでNot Found、つまりページが存在しないことを意味します。
404 Not Found

まず考えられる原因は、URLかファイルのパスに間違いがあることです。
ブラウザのアドレスバーにあるURLと、作成したファイルやディレクトリの名前が一致していることを確認してください。

0Like

Comments

  1. @Saki0506

    Questioner

    おっしゃる通り、ファイル名が間違っていただけでした。本当にありがとうございました。

Your answer might help someone💌