私はphpを使ってログインシステムを作っています。ログインとサインアップ自体は機能しますが、ログイン後、ページはphpを使用して、ユーザー名とパスワードの非表示の入力を含むhtmlフォームを印刷し、送信ボタンはそれらの入力を「プロファイル」phpページに投稿します、そのユーザーからのメッセージを表示し、ユーザーが新しいメッセージを投稿できるようにします。ログイン.php:
<html>
<head>
<title>Login</title>
<?php
if(isset($_POST['submit1'])){
$canconnect=false;
$user_name="root";
$password="";
$database="users";
$server="localhost";
$user=$_POST['username'];
$pass=$_POST['pass'];
$db_handle=mysql_connect($server,$user_name,$password);
$db_found=mysql_select_db($database,$db_handle);
if($db_found){
$SQL="SELECT * FROM users";
$result=mysql_query($SQL);
while($db_field=mysql_fetch_assoc($result)){
if(($user==$db_field['Username'])&&($pass==$db_field['Password'])){
$canconnect=true;
}
}
mysql_close($db_handle);
if($canconnect){
print("Welcome, ".$user."<br><form name='ftoprof' method='post' action='profile.php'><input type='hidden' name='hiduser' value='<?php echo $user;?>'/><input type='hidden' name='hidpass' value='<?php echo $pass;?>'/><input type='submit' name='profsub' value='View Profile'/></form>");
}else{
print("Username or password incorrect, please try again.");
}
}else{
print("Users Database not found.");
mysql_close($db_handle);
}
}else{
print("Enter Username and corresponding Password.");
}
?>
</head>
<body>
<form name="form1" method="post" action="login.php">
<input type="text" name="username" value="User"/>
<input type="text" name="pass" value="password"/>
<input type="submit" name="submit1" value="Submit"/>
</form>
Don't have an account? <a href="signup.php">Sing Up</a>
</body>
</html>
問題がここにあるのか、profile.php にあるのかわかりません:
<html>
<head>
<title>Profile</title>
<?php
if(isset($_POST['profsub'])){
$user=$_POST['hiduser'];
$pass=$_POST['hidpass'];
$canconnect=false;
$username="root";
$password="";
$server="localhost";
$database="users";
$db_handle=mysql_connect($server,$username,$password);
$db_found=mysql_select_db($database,$db_handle);
if($db_found){
$SQL="SELECT * FROM users";
$result=mysql_query($SQL);
while($db_field=mysql_fetch_assoc($result)){
if(($user==$db_field['Username'])&&($pass==$db_field['Password'])){
$canconnect=true;
}
}
$SQL="SELECT * FROM messages";
$result=mysql_query($SQL);
while($db_field=mysql_fetch_assoc($result)){
print($db_field['message']."<br><br>");
}if($canconnect){
print("<form name='mesform' method='post' action='profile.php'><input type='hidden' name='user' value='<?php echo $user; ?>'/><input type='text' name='message' value='message'/><input type='submit' name='messub' value='submit'/></form>");
}
}else{
print("Database not found");
}
}elseif(isset($_POST['messub'])){
$mes=$_POST['message'];
$user=$_POST['user'];
$server="localhost";
$username="root";
$password="";
$database="users";
$db_handle=mysql_connect($server,$username,$password);
$db_found=mysql_select_db($database,$db_handle);
if($db_found){
$SQL="INSERT INTO messages (User, Message) VALUES ('{$user}','{$mes}')";
$result=mysql_query($SQL);
}else{
print("Database not found");
}
}else{
print("No user's profile to display");
}
?>
</head>
<body>
</body>
</html>
ログインページにユーザー名とパスワードを入力すると、「プロフィールを表示」というボタンが表示されます。users データベース テーブルには、Username Password Email と Power(admin) があります。Messages db テーブルには、Message と User (投稿したユーザー) だけがあります。[プロフィールを表示] ボタンをクリックすると、プロフィール ページが表示されますが、そのページには何も表示されません。これで。これを機能させるためにコードに何をする必要があるか教えてください。ちなみに、私は自分のコンピューターで wamp を使用して「サーバー」を実行しているため、localhost を使用しました。これは私の最初の php プロジェクトなので、助けなしで最初の試行で完璧になるとは思っていませんでした。はい、パスワードがテキストを使用していることに気づきました。