gpt4 book ai didi

php - 试图获取非对象的属性

转载 作者:搜寻专家 更新时间:2023-10-31 21:30:46 27 4
gpt4 key购买 nike

我以前遇到过这个问题,但我修复了,其实很简单。我不记得我做了什么来修复它.. :/它没有在我的页面底部显示我是高级成员(member),我的购买已经完成,它只是没有更新,因为它说,'试图获得一个属性(property)非对象'在我的页面顶部。编辑:它也没有在数据库中更新,但是当我手动更新时它仍然没有显示我在网页上是付费用户。

问题出在这里,index.php

    <?php if($users->premium): ?>
<p id="prem" style="position: fixed; bottom: 0; width:100%; text-align: center">You are <span style="color:#FB0307">PREMIUM</span>!</p>
<?php else: ?>
<p id="prem" style="position: fixed; bottom: 0; width:100%; text-align: center">You are not premium. <a href="checkout.php"><span style="color:#FB0307">Go premium!</span></a></p>
<?php endif; ?>

要解决此问题,这是我很确定上次必须编辑的代码。 “这实际上是非常小的东西”哈哈

    $_SESSION['user_id'] = '';

$stripe = array(
"secret_key" => "sk_test_hzpYzgCFLBf3sTFtqzYX8Qqy",
"publishable_key" => "pk_test_AdvDAYfsO9vdYBXJiPaucNHw"
); // Test keys

\Stripe\Stripe::setApiKey($stripe['secret_key']);

$db = new PDO('mysql:host=127.0.0.1;dbname=blog', 'root', '');

$userQuery = $db->prepare("SELECT id, username, email, premium FROM users WHERE username = :username");

$userQuery->execute(array(':username' => $_SESSION['user_id']));

$users = $userQuery->fetchObject();

我非常怀疑这与它有什么关系,但这会在页面顶部为第二个代码块创建 $_SESSIONif($login) 语句不止于此,但这是唯一与此相关的语句。

if($login){
$_SESSION["user_id"] = Input::get('username');
Redirect::to('index.php');
}else{
echo '<p style="color: white;">Sorry, login failed.</p>';
}

最佳答案

您的问题是因为您的 $users 变量不是对象。这意味着您的查询失败。

这让我相信这是因为 $_SESSION['user_id']

我们无法从您提供的代码中得知,但您始终需要在要使用 session 的每个页面上启动 session :

session_start();

此外,您在运行查询之前将用户 session ID 设置为空...

$_SESSION['user_id'] = '';

这将保证您的查询无用,因为现在 user_id 为空。

关于php - 试图获取非对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30295920/

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