gpt4 book ai didi

php - 每个用户的特定页面,php 和 mysql

转载 作者:行者123 更新时间:2023-11-30 23:06:22 25 4
gpt4 key购买 nike

我正在构建一个应用程序。我 tryinf 要做的是,当我用户登录时,每个用户都有一个特定的页面。我在第一页就意识到了这一点。所以当用户登录时,下一页是包含他的名字和日历的页面。我现在想做的是,当用户点击日历的某个日期时,只从数据库中调用该用户的事件。我的问题是,在我使用用户配置文件登录后,当我单击日历的一个日期时,它不仅显示该用户的事件,还显示其他用户的事件...我该如何解决这个问题?请帮我...下面是我的代码:

这是用户登录的索引页面部分:

<form method="GET" action="signin.php" >  
<table class="formtable">
<tr>
<td>
<input class="text" type="text" id="email_id" name="email" value="Adresa emailit" required="required" onfocus="changefocus(this,'Adresa emailit')" onblur="fillemptyform(this,'Adresa emailit')">
</td>
</tr>
<tr>
<td>
<input class="text" type="password" id="pass_id" name="pass" value="Password" required="required" onfocus="changefocus(this,'Password')" onblur="fillemptyform(this,'Password')">
</td>
</tr>
</table>
<input class="button" name="submit" type="submit" value="Sign in">
</form>

这是用户登录时打开的 sign in.php 页面:(我只展示了使用 php 的部分)

<?php 
//kontrollo per submitin e formes
if(isset($_GET['email']) AND isset($_GET['pass'])) {
$Emaili=$_GET['email'];
$Fjalekalimi=$_GET['pass'];
mysql_connect("127.0.0.1","root","") or die("Smund te lidhet me serverin");
mysql_select_db("axhenda") or die("Kjo databaze nuk u gjet");
$userquery = mysql_query("SELECT * FROM perdoruesi where Emaili = '$Emaili' AND Fjalekalimi = '$Fjalekalimi'") or die("Kjo query nuk mund te plotesohet");
if(mysql_num_rows($userquery) !=1) {
die ("Ky perdorues nuk u gjet");
}

while($row=mysql_fetch_array($userquery, MYSQL_ASSOC)) {
$Emri =$row['Emri'];
$Mbiemri =$row['Mbiemri'];
$Emaili =$row['Emaili'];
$Fjalekalimi =$row['Fjalekalimi'];
$Aksesi =$row['Aksesi'];
}

?>

<?php
} else die("Bosh");
?>

<div class="miresevini">
<span style="color: rgb(4, 38, 73); font-weight: bold;"> Welcome(</span>
<span style="color: #b2d7fd"><?php echo $Emri;?>, <?php echo $Mbiemri;?></span>
<span style="color: rgb(4, 38, 73);font-weight: bold;">)</span>
</div>

这里是 kalendar.php 文件,当我点击一个日期时会调用它,它会显示该日期的所有事件

<body>      
<?php
$con = mysql_connect('127.0.0.1','root','');
if (!$con) {
die('Lidhja me databazen nuk mund te kryhet' .mysql_error(). ' </body></html>');
}

if(!mysql_select_db("Axhenda",$con))
die('Nuk mund te hapet databaza Axhenda'.mysql_error(). '</body></html>');

$result= mysql_query("SELECT * FROM Aktiviteti where Data= '$_POST[dataoutput]'");

$count=mysql_num_rows($result);
?>

<div class="title"> Aktivitetet per daten <?php print ("$_POST[dataoutput]"); ?></div>
<form name="form1" method="post" action="delete.php">
<table >
<th>
<th ><strong>Emri </strong></th>
<th ><strong>Pershkrimi </strong></th>
<th><strong>Ora</strong></th>
</th>
<?php
while ($row=mysql_fetch_array($result)) {
?>

<tr>
<td ><input name="checkbox[]" type="checkbox" value="<?php echo $row['Id_Akt']; ?>"></td>
<td style="font-size:0.9em"><?php echo $row['Emri']; ?></td>
<td ><?php echo $row['Pershkrimi']; ?></td>
<td><?php echo $row['Ora']; ?></td>
</tr>

<?php
}
?>


</table>
<input class="button" name="delete" type="submit" value="Delete" style="margin-left:40%; margin-top:100px; width:15%">

</form>

</body>

请帮帮我。我应该怎么做才能仅显示登录用户的事件...mysql 中使用的表有两个:

Perdoruesi(Id_Per, Emri, Mbiemri, Emaili,Pass, Akses)   saves information about the user

Aktiviteti(Id_Akt, Perd_Id, Emri, Pershkrimi, Date, Time), saves the information about the activity.

Perd_Id是Perdoruesi表中Id_Per的外键。我也建立了外键和主键之间的关系,但我仍然没有得到特定用户的事件....请帮助我。提前致谢!

我这样修改了 signin.php 文件:(我添加了 SESSION 部分)

<?php 

//kontrollo per submitin e formes
if(isset($_GET['email']) AND isset($_GET['pass']))
{$Emaili=$_GET['email'];
$Fjalekalimi=$_GET['pass'];
mysql_connect("127.0.0.1","root","") or die("Smund te lidhet me serverin");
mysql_select_db("axhenda") or die("Kjo databaze nuk u gjet");
$userquery = mysql_query("SELECT * FROM perdoruesi where Emaili = '$Emaili' AND Fjalekalimi = '$Fjalekalimi'") or die("Kjo query nuk mund te plotesohet");
if(mysql_num_rows($userquery) !=1)
{ die ("Ky perdorues nuk u gjet");
}

while($row=mysql_fetch_array($userquery, MYSQL_ASSOC))
{$Id_Per=$row['Id_Per'];
$Emri =$row['Emri'];
$Mbiemri =$row['Mbiemri'];
$Emaili =$row['Emaili'];
$Fjalekalimi =$row['Fjalekalimi'];
$Aksesi =$row['Aksesi'];
}



?>



<?php
}
else die("Bosh");

?>

<?php
session_start();
// store session data
$_SESSION['Id_Per'] = 1;
?>

并像这样修改了 kalendar.php:

$result= mysql_query("SELECT * FROM Aktiviteti where Data= '$_POST[dataoutput]' and Perd_Id= $_SESSION['Id_Per']");

但它仍然给我这个错误:

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\xampp\htdocs\agenda\kalendar.php on line 63

我能做什么?

最佳答案

当您使用查询加载数据时看起来像

$result= mysql_query("SELECT * FROM Aktiviteti where Data= '$_POST[dataoutput]'");

您正在选择该日期的所有数据。你需要做类似的事情

$result= mysql_query("SELECT * FROM Aktiviteti where Data= '$_POST[dataoutput]' and Email = '$_SESSION['email']'");

在上面的查询中,我假设您将用户电子邮件存储在 session 中。如果不是,您将需要能够以某种方式访问​​它。这样您就只选择与当前用户电子邮件地址相关联的记录。这还假设您将每个用户的电子邮件地址与他们当天的事件一起存储。


更新

示例登录

<?php 
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if(isset($_POST['password']) && isset($_POST['username']) {
// Check to see if username and password is correct
// Should return user if correct else false
$user = authenticate($_POST['username'], $_POST['password']);
if($user){
$_SESSION['user'] = $user['username'];
$_SESSION['user_id'] = $user['id'];
$_SESSION['email'] = $user['email'];
} else {
// Handel user not being authenticated
} else {
// Handle the username and password not being present
}
}
?>

示例获取数据库的信息。

<?php
$q = "SELECT * FROM table_name WHERE Data = " . $_POST['item'] . " and user_id = " . $_SESSION['user_id'];
$result = mysql_query($q);
// Do something with the result.
?>

关于php - 每个用户的特定页面,php 和 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21713025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com