gpt4 book ai didi

php,从 mysql 获取一行并设置一个变量以显示链接

转载 作者:行者123 更新时间:2023-11-29 08:59:08 26 4
gpt4 key购买 nike

好吧,有人能看到我在这里做错了什么吗?以防万一我的编码很糟糕,哈哈。我拥有的是一个成员(member)网站,链接是根据用户是否登录而建立的。我实际上想要实现的是通过检查用户在注册时选择的帐户类型来更改个人资料链接

我已经在这方面呆了几个小时了,我不确定我还能尝试什么,我确信我走在正确的道路上,但我的 php 技能还有很多不足之处

无论如何,这是我的代码,如果有人可以帮助我,我将永远感激不已,忘记了我试图传递的是 $logOptions_account 来实现链接,并且数据库中的 accounttype 字段是枚举类型,如果它有所作为

<?php
/*
* Date: january 20, 2012
*------------------------------------------------------------------------------------------------*/
session_start(); // Start Session First Thing
// Force script errors and warnings to show on page in case php.ini file is set to not display them
error_reporting(E_ALL);
ini_set('display_errors', '1');
//-----------------------------------------------------------------------------------------------------------------------------------
include_once "scripts/connect_to_mysql.php"; // Connect to the database
$dyn_www = $_SERVER['HTTP_HOST']; // Dynamic www.domainName available now to you in all of your scripts that include this file
//------ CHECK IF THE USER IS LOGGED IN OR NOT AND GIVE APPROPRIATE OUTPUT -------
$logOptions = ''; // Initialize the logOptions variable that gets printed to the page
// If the session variable and cookie variable are not set this code runs
if (!isset($_SESSION['idx'])) {
if (!isset($_COOKIE['idCookie'])) {
$logOptions = '<a href="//' . $dyn_www . '/register.php">Register Account</a>
&nbsp;&nbsp; | &nbsp;&nbsp;
<a href="http://' . $dyn_www . '/login.php">Log In</a>';
}
}
// If session ID is set for logged in user without cookies remember me feature set
if (isset($_SESSION['idx'])) {

$decryptedID = base64_decode($_SESSION['idx']);
$id_array = explode("p3h9xfn8sq03hs2234", $decryptedID);
$logOptions_id = $id_array[1];
$logOptions_username = $_SESSION['username'];
$logOptions_username = substr('' . $logOptions_username . '', 0, 15); // cut user name down in length if too long

// Check if this user has any new PMs and construct which envelope to show
$sql_pm_check = mysql_query("SELECT id FROM private_messages WHERE to_id='$logOptions_id' AND opened='0' LIMIT 1");
$num_new_pm = mysql_num_rows($sql_pm_check);
if ($num_new_pm > 0) {
$PM_envelope = '<a href="pm_inbox.php"><img src="images/pm2.gif" width="18" height="11" alt="PM" border="0"/></a>';
} else {
$PM_envelope = '<a href="pm_inbox.php"><img src="images/pm1.gif" width="18" height="11" alt="PM" border="0"/></a>';
}
// Ready the output for this logged in user
$act = "";
$logOptions_account = $act;
$act = mysql_query("SELECT accounttype FROM memberstable WHERE accounttype='$logOptions_account' ");
if ($act == "a") {
$logOptions_account = '<a href="fanprofile.php">';}
else if($act == "b") {
$logOptions_account = '<a href="artistprofile.php">';}
else if($act == "c") {
$logOptions_account = '<a href="bandprofile.php">';}
else if($act == "d") {
$logOptions_account = '<a href="businssprofile.php">';}
else if($act == "e") {
$logOptions_account = '<a href="venueprofile.php">';}
else if($act == "f") {
$logOptions_account = '<a href="serviceprofile.php">';}
else {
}



$logOptions = $PM_envelope . ' &nbsp; &nbsp;
<a href="http://' . $dyn_www . '">Home</a>
&nbsp;&nbsp; |&nbsp;&nbsp;
<a href="http://' . $dyn_www . '/' . $logOptions_account . '?id=' . $logOptions_id . '">Profile</a>
&nbsp;&nbsp; |&nbsp;&nbsp;
<div class="dc">
<a href="#" onclick="return false">Account &nbsp; <img src="images/darr.gif" width="10" height="5" alt="Account Options" border="0"/></a>
<ul>
<li><a href="http://' . $dyn_www . '/edit_profile.php">Account Options</a></li>
<li><a href="http://' . $dyn_www . '/pm_inbox.php">Inbox Messages</a></li>
<li><a href="http://' . $dyn_www . '/pm_sentbox.php">Sent Messages</a></li>
<li><a href="http://' . $dyn_www . '/logout.php">Log Out</a></li>

</ul>
</div>
';

} else if (isset($_COOKIE['idCookie'])) {// If id cookie is set, but no session ID is set yet, we set it below and update stuff

$decryptedID = base64_decode($_COOKIE['idCookie']);
$id_array = explode("nm2c0c4y3dn3727553", $decryptedID);
$userID = $id_array[1];
$userPass = $_COOKIE['passCookie'];
// Get their user first name to set into session var
$sql_uname = mysql_query("SELECT firstname, lastname, email, accounttype FROM memberstable WHERE id='$userID' AND password='$userPass' LIMIT 1");
$numRows = mysql_num_rows($sql_uname);
if ($numRows == 0) {
// Kill their cookies and send them back to homepage if they have cookie set but are not a member any longer
setcookie("idCookie", '', time()-42000, '/');
setcookie("passCookie", '', time()-42000, '/');
header("location: index.php"); // << makes the script send them to any page we set
exit();
}
while($row = mysql_fetch_array($sql_uname)){
$firstname = $row["firstname"];
$surname = $row["lastname"];
$useremail = $row["email"];
$logOptions_account = $row["accounttype"];
}

$_SESSION['id'] = $userID; // now add the value we need to the session variable
$_SESSION['idx'] = base64_encode("g4p3h9xfn8sq03hs2234$userID");
$_SESSION['firstname'] = $firstname;
$_SESSION['surname'] = $surname;
$_SESSION['useremail'] = $useremail;
$_SESSION['userpass'] = $userPass;

$logOptions_id = $userID;
$logOptions_uname = $firstname;
$logOptions_uname = $surname;
$logOptions_uname = substr('' . $logOptions_uname . '', 0, 15);
/////////// Update Last Login Date Field /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
mysql_query("UPDATE memberstable SET last_log_in=now() WHERE id='$logOptions_id'");
// Ready the output for this logged in user
// Check if this user has any new PMs and construct which envelope to show
$sql_pm_check = mysql_query("SELECT id FROM private_messages WHERE to_id='$logOptions_id' AND opened='0' LIMIT 1");
$num_new_pm = mysql_num_rows($sql_pm_check);
if ($num_new_pm > 0) {
$PM_envelope = '<a href="pm_inbox.php"><img src="images/pm2.gif" width="18" height="11" alt="PM" border="0"/></a>';
} else {
$PM_envelope = '<a href="pm_inbox.php"><img src="images/pm1.gif" width="18" height="11" alt="PM" border="0"/></a>';
}
// Ready the output for this logged in user
$act = "";
$logOptions_account = $act;
$act = mysql_query("SELECT accounttype FROM memberstable WHERE accounttype='$logOptions_account' LIMIT 1");
if ($act == 'a') {
$logOptions_account = '<a href="fanprofile.php">';}
else if($act == 'b') {
$logOptions_account = '<a href="artistprofile.php">';}
else if($act == 'c') {
$logOptions_account = '<a href="bandprofile.php">';}
else if($act == 'd') {
$logOptions_account = '<a href="businssprofile.php">';}
else if($act == 'e') {
$logOptions_account = '<a href="venueprofile.php">';}
else if($act == 'f') {
$logOptions_account = '<a href="serviceprofile.php">';}
else {
}
$logOptions = $PM_envelope . ' &nbsp; &nbsp;
<!--<a href="http://' . $dyn_www . '">Home</a>
&nbsp;&nbsp; |&nbsp;&nbsp; -->
<a href="http://' . $dyn_www . '/' . $logOptions_account . '?id=' . $logOptions_id . '">Profile</a>
&nbsp;&nbsp; |&nbsp;&nbsp;
<div class="dc">
<a href="#" onclick="return false">Account &nbsp; <img src="../images/darr.gif" width="10" height="5" alt="Account Options" border="0"/></a>
<ul>
<li><a href="http://' . $dyn_www . '/edit_profile.php">Account Options</a></li>
<li><a href="http://' . $dyn_www . '/pm_inbox.php">Inbox Messages</a></li>
<li><a href="http://' . $dyn_www . '/pm_sentbox.php">Sent Messages</a></li>
<li><a href="http://' . $dyn_www . '/logout.php">Log Out</a></li>
</ul>
</div>';
}



?>

如果我在这里做错了或愚蠢的事情,我真的很抱歉,但我现在因为整天看着这个而盲目,正如我所说,如果有人可以提供帮助,我将永远感激不已

最佳答案

mysql_query() 返回资源,而不是文本。

$act = mysql_query // this is not text, so never "a, b, c ..."

关于php,从 mysql 获取一行并设置一个变量以显示链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9122997/

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