Я столкнулся с этой проблемой раньше, но я исправил ее, и это было просто. Я не могу вспомнить, что я сделал, чтобы исправить это.:/Это не показывает мне премиум в нижней части моей страницы, моя покупка проходит, она просто не обновляется, потому что она говорит: «пытается получить свойство non object "в верхней части моей страницы. EDIT: он также не обновляется в базе данных, но когда я обновляю вручную, он по-прежнему не показывает, что я премию на веб-странице.Попытка получить свойство не объекта
Вот где проблема, 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();
Я очень сомневаюсь, что это не имеет ничего общего с ним, но это создает $_SESSION
в верхней части страницы для 2-го блока кода. Это более чем if($login)
заявление, но это единственное утверждение, относящееся к этому.
if($login){
$_SESSION["user_id"] = Input::get('username');
Redirect::to('index.php');
}else{
echo '<p style="color: white;">Sorry, login failed.</p>';
}
На какой переменной? –
В соответствии с вашим кодом ошибка 'пытаться получить свойство не-объекта' относится к' $ users-> premium'. '$ users' не является объектом по какой-либо причине - начните с' var_dump ($ users) 'для его отладки. Возможно, '' userQuery-> fetchObject' возвращает 'false'. –
То, что сказал @OfirBaruch в своем комментарии. Сначала вы должны убедиться, что запрос был успешным. Установлен ли ваш '$ _SESSION ['user_id']'? у вас есть 'session_start();' вверху каждой страницы, в которой вы используете сеансы? – Darren