PHP Грешка supplied argument is not a valid MySQL

nbacool2

Registered
Здравейте. Имам следния код:

PHP:
$sql = "SELECT user_name, user_password FROM users WHERE user_name = '" . $username . "' AND user_password = '" . $password . "'";

$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_row($result) or die(mysql_error());
if (mysql_num_rows($row) !=0) {
session_start();

и

PHP:
header("Location: Index.php");

При зареждането на целия скрипт излиза следната грешка:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/webdevbg/public_html/login.php on line 16

Warning: Cannot modify header information - headers already sent by (output started at /home/webdevbg/public_html/configuration.php:1) in /home/webdevbg/public_html/login.php on line 32

Освен с header, мога ли по друг начин да препращам потребител към страница?
 
PHP:
$sql = "SELECT user_name, user_password FROM users WHERE user_name = '" . $username . "' AND user_password = '" . $password . "'";

$result = mysql_query($sql) or die(mysql_error());

if (mysql_num_rows($result ) !=0) {

$row = mysql_fetch_row($result) or die(mysql_error());

session_start();
 
PHP:
session_start(); // Тва винаги седи най от горе за да стартира сесията 
$sql = "SELECT `user_name`, `user_password` FROM `users` WHERE `user_name` = '" . $username . "' AND `user_password` = '" . $password . "'";
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_num_row($result) or die(mysql_error());
if ($row != 0 ) {
    header("Location: Index.php");
}

Целия този код седи над html кода имаче има Warning: Cannot modify header information - headers already sent
 
Код:
ob_start();

Най-отгоре в файла (ако го нямаш, защото header(); го изисква в повечето случай)
 
rotator каза:
Код:
ob_start();

Най-отгоре в файла (ако го нямаш, защото header(); го изисква в повечето случай)

В случая нема буфери (доколкото е даден кода), погледни мнението на joooro.
 
Приложих кода на jooorooo и добавих други корекции и кода вече се изпълнява правилно. Обаче сего има друг проблем.

Index.php

Код:
<?php
session_start();
if ($_SESSION['logged'] ==1 || isset($_COOKIE['username']) && isset($_COOKIE['password'])) {
include 'logged_user.php'; }
else {
include 'login_check.php'; } 
?>


logged_user.php

Код:
<?php
session_start();
require "db_connect.php";

$sql_insert = "SELECT access_level FROM users WHERE user_name = '" . $_SESSION["username"] . "'";

$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 си.";
}
else  { include "blog.php"; }
?>


При успешно влизане и презареждане на Index би трябвало да се изпълни файла logged_user.php и да се изведе текст, но се зарежда само празна страница без нищо.
 
Да сигурен съм. С достъп 1 си ако не си потвърдил email-a,аз се опитах да се логна от такъв потребител, а и с else всички останали нива на достъп трябва да заредят blog.php и съответно някаква информация, но поради някаква причина нищо не се зарежда. :(
 

Back
Горе