やりたいこと
phpでユーザー入力後データベースの値を変更したいです。
状況
if分岐後の「システムエラー」の表示が出てしまいます。本当は下の「変更が保存されました」の表示を出したいです。
データベースを確認しても変更はされてませんでした。
稚拙な文ではありますが、皆様のお力添えお願い致します。
php
1<?php 2 3$mysqli = new mysqli("#", "#", "#", "#"); 4 5if(!$mysqli){ 6 echo "データベースに接続出来ませんでした。"; 7 exit; 8}else{ 9 session_start(); 10 11 if(isset($_POST["goname"])){ 12 13 $name = $_POST["afname"]; 14 $email = $_SESSION["email"]; 15 16 $query = "UPDATE users SET name='$name' WHERE email='$email'"; 17 $result = $mysqli->query($query); 18 if(!$result){ 19 echo "<script type='text/javascript'>alert('システムエラーが発生しました。');</script>"; 20 $mysqli->close(); 21 }else{ 22 echo "<script type='text/javascript'>alert('変更を保存しました。');</script>"; 23 $mysqli->close(); 24 } 25 } 26} 27 28?> 29 30<!DOCTYPE html> 31<html lang="ja"> 32 33<head> 34 <meta name="viewport" content="width=device-width,initial-scale=1"> 35 <meta charset="utf-8"> 36</head> 37 38 39<body> 40 41 <p>ユーザーネームを変更する</p> 42 <form action="" method="post"> 43 <input id="afname" type="text" name="afname" placeholder="<?php echo $_SESSION["name"] ?>" required><br> 44 <input type="submit" name="goname" value="変更する"><br> 45 </form> 46 47 48</body> 49 50 51</html>
回答3件
あなたの回答
tips
プレビュー