**私は彼がいくつかの方程式を計算し、それをユーザーデータベースの彼のセルに送信するという学生の結果を挿入したいと思います
私の問題は、私がそれをしようとすると、ユーザーテーブルの彼自身のセルにいくつかの学生の結果を送信できないことです、、それは常に(結果)私がログインした最初のユーザーに行きます、、私は私の問題だと思いますSESSIONは1つでも助けてくれますか?私のindex.phpコードは**でした
<html>
<head>
<title>Home Work Page</title>
</head>
<body>
<form action="login.php?login=yes" method="POST">
<table border=1>
<tr>
<td> username : <input type="text" name="username"/></td>
<br />
<td> password :<input type="password" name="password"/> </td>
</tr>
</table>
<input type="submit" name="resultbtn" value='login'/>
</form>
</body>
</html>
そして私のlogin.phpコードは
<?php
error_reporting(0);
$username = $_POST['username'];
$password= $_POST['password'];
$login = $_GET['login'];
setcookie("username","$username",time()+15);
if($login=='yes') {
$con = mysql_connect("localhost","root","");
mysql_select_db("members");
$get = mysql_query("SELECT count(id) FROM users WHERE username='$username' and password='$password' ");
$resultt = mysql_result($get,0);
if($resultt !=1){
echo "error with login";
}
else {
$_SESSION['username'] = $username;
$sql = "SELECT * FROM users WHERE username='$username' ";
$myval = mysql_query($sql,$con);
echo "welcome back " . $_COOKIE['username'];
echo"
<br/>
<br/>
<br/>
<br/>
<html dir='rtl'>
<meta charset ='Windows-1256'>
</html>
<table>
<tr>
<th> </th>
</tr>";
if ($val = mysql_fetch_array($myval)) {
echo "<tr>";
echo " <td>" . "the question : calculate the triangle area if H = " . "</td>";
echo " <td> <input type='text' value= $val[val1] disabled='disabled' size=5/> ". "</td>";
echo " <td>and L = <input type='text' value= $val[val2] disabled='disabled' size=5/> ". "</td>";
echo "</tr>";
}
echo "</table>";
}
}
echo"<form action='result.php' method='POST'>
<br/>
<br/>
<br/>
<br/>
<table>
<tr>
<td> Hello student the result will be : <input type='text' name='add' ></td>
<td><input type='submit' name='submit' value='send results'></td>
</tr>
</table>
</form>
";
?>
そしてresult.php(私の問題のあるページ)コードは
<?php
error_reporting(0);
$val3 = $_POST["add"];
//connect
mysql_connect("localhost", "root", "");
mysql_select_db("members");
//insert
$insert_query = mysql_query("UPDATE users SET results='$val3' WHERE username ='$_SESSION[username]' ");
$query = mysqli_query($insert_query) or die(mysqli_error());
//check whether the data insertion was successful
if(!$insert_query)
echo "<p>Sorry! Something went wrong.</p>";
else
echo "<p>Thanks! Your Results has been Sent.</p>";
?>
私のlogout.phpコードは
<?php
session_start();
unset($_SESSION['username']);
session_destroy();
header ("location: index.php");
?>
助けてください
コードは非常にひどく書かれていて、mysqlの非推奨関数を使用していますが、とにかくこれが原因で機能しません:
$insert_query = mysql_query("UPDATE users SET results='$val3' WHERE username ='$_SESSION[username]' ");
そのように配列値を文字列に配置することはできません。代わりに試してください:
$username = $_SESSION['username'];
$insert_query = mysql_query("UPDATE users SET results='$val3' WHERE username ='$username' ");
または:
$insert_query = mysql_query("UPDATE users SET results='$val3' WHERE username ='".$_SESSION['username']."'");
また、$ insert_queryはmysql_queryの結果であるため、この行には意味がありません。
$query = mysqli_query($insert_query) or die(mysqli_error());
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加