Index.php
logged_user.php
Здравейте. Имах проблем с кода ми. Всичко синтактично беше правилно, но вместо да изведе информация, индекса не визуализираше нищо. Направих няколко теста и установих, че главната грешка идва от
Със тази заявка взимам само едно поле от базата данни и теоритично трябва да е масив със само една стойност. Но точно тук ми дава грешката. Реших да заменя mysql_fetch_array с mysql_fetch_field и във if конструкцията $row['access_level'] със $row (защото вече е само едно поле) вече нямаше грешка. Та въпросът ми е - Може ли масив да съдържа само една стойност и ако да - защо аз получавам грешка?
2 Въпрос:
След като замених mysql_fetch_array с mysql_fetch_field и изпълних кода, получих Notice:
Тоест $row от стринг не може неявно да бъде превърнат във целочислен тип. Опитах се да го направя като преди if конструкцията сложа следното
обаче получих същата грешка. Въпросът ми е защо я получавам.
Код:
<?php
session_start();
include "error_rep.php";
if ($_SESSION['logged'] == 1 || isset($_COOKIE['username']) && isset($_COOKIE['password'])) {
require 'logged_user.php';
}
else {
include 'login_check.php';
}
?>
logged_user.php
Код:
<?php
include "error_rep.php";
require "db_connect.php";
$usr = $_SESSION["username"];
$sql_insert = "SELECT access_level FROM users WHERE user_name = '" . $usr . "'";
$sql_inserted = mysql_query($sql_insert) or die(mysql_error());
$row = mysql_fetch_array($sql_inserted) or die(mysql_error());
if ($row["access_level"] == 1) {
echo "Не сте потвърдили email-a си.";
session_unset();
session_destroy();
}
else { include "blog.php"; }
?>
Здравейте. Имах проблем с кода ми. Всичко синтактично беше правилно, но вместо да изведе информация, индекса не визуализираше нищо. Направих няколко теста и установих, че главната грешка идва от
PHP:
$sql_insert = "SELECT access_level FROM users WHERE user_name = '" . $usr . "'";
$sql_inserted = mysql_query($sql_insert) or die(mysql_error());
$row = mysql_fetch_array($sql_inserted) or die(mysql_error());
Със тази заявка взимам само едно поле от базата данни и теоритично трябва да е масив със само една стойност. Но точно тук ми дава грешката. Реших да заменя mysql_fetch_array с mysql_fetch_field и във if конструкцията $row['access_level'] със $row (защото вече е само едно поле) вече нямаше грешка. Та въпросът ми е - Може ли масив да съдържа само една стойност и ако да - защо аз получавам грешка?
2 Въпрос:
След като замених mysql_fetch_array с mysql_fetch_field и изпълних кода, получих Notice:
Object of class stdClass could not be converted to int
Тоест $row от стринг не може неявно да бъде превърнат във целочислен тип. Опитах се да го направя като преди if конструкцията сложа следното
Код:
$row = (int) $row;