Проблем с логин

lekov90

Registered
Имам проблем с логин когато сайта е на локалхост логина работи но когато го кача на платения хостинг не иска да се впише и не показва никаква грешка.

Това ми е логин скрипта:
Код:
<?php
ob_start();
include "../settings.php";
$username=addslashes(htmlspecialchars($_POST['username']));
$password=addslashes(htmlspecialchars($_POST['password']));
$sql="SELECT * FROM users WHERE username='$username' and password='$password'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1)
{
session_register("username");
session_register("password");
header("location: ../index.php");
}
else
{
header("Location: ../news.php?m=error");
}
ob_end_flush();
?>
 
Нормално е да не ти покаже грешката :)

<?php
ob_start();
include "../settings.php";
$username=addslashes(htmlspecialchars($_POST['username']));
$password=addslashes(htmlspecialchars($_POST['password']));
$sql="SELECT * FROM users WHERE username='$username' and password='$password'";
$result=mysql_query($sql) or die(mysql_error());
$count=mysql_num_rows($result);
if($count==1)
{
session_register("username");
session_register("password");
header("location: ../index.php");
}
else
{
header("Location: ../news.php?m=error");
}
ob_end_flush();
?>

Дай с този код и кажи какво извежда като грешка :)
 
и така сложих скрипта и пак непоказва грешка а и забравих да кажа сайта е с енкодинг utf-8
 
Енкодинга няма значение :)

А сигурен ли си, че пътя към settings.php е същият ?

Защото aко е така както е зададен в скрипта структората трябва да е така г/д...

http://сайта-ти.домейн/settings.php и скрипта за логване да е http://сайта-ти.домейн/папка/login.php

сигурен ли си, че така са структорирани ?
 
Имал съм същия проблем и се оказа че е от домейна...
 
t0m3kk каза:
Енкодинга няма значение :)

А сигурен ли си, че пътя към settings.php е същият ?

Защото aко е така както е зададен в скрипта структората трябва да е така г/д...

http://сайта-ти.домейн/settings.php и скрипта за логване да е http://сайта-ти.домейн/папка/login.php

сигурен ли си, че така са структорирани ?
сигурен сам и да кажа не е от домейна и на други хостинги ми го прави този проблем
 
<?php
ob_start();
session_start();
include "../settings.php";
$username=addslashes(htmlspecialchars($_POST['username']));
$password=addslashes(htmlspecialchars($_POST['password']));
$sql="SELECT * FROM users WHERE username='$username' and password='$password'";
$result=mysql_query($sql) or die(mysql_error());
$count=mysql_num_rows($result);
if($count==1)
{
session_register("username");
session_register("password");
header("location: ../index.php");
}
else
{
header("Location: ../news.php?m=error");
}
ob_end_flush();
?>

а така ?
 
Ако системата ти е готова земи друг login.php от същата версия ако е писана се обърни към които ти е писал...
 
Код:
<?php
ob_start();
session_start();
include "../settings.php";
$username=addslashes(htmlspecialchars($_POST['username']));
$password=addslashes(htmlspecialchars($_POST['password']));
$sql="SELECT * FROM users WHERE username='$username' and password='$password'";
$result=mysql_query($sql) or die(mysql_error());
$count=mysql_num_rows($result);
if($count==1)
{
$_SESSION['username'] = $username
header("location: ../index.php");
}
else
{
header("Location: ../news.php?m=error");
}
ob_end_flush();
?>
 
c3c0 първо имаш грешка в кода която оправих имаш изпуснато едно ; второ ми дава тези грешки:
Код:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\xampp\htdocs\11\login.php:1) in D:\xampp\htdocs\11\login.php  on line 3

Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\11\login.php:1) in D:\xampp\htdocs\11\login.php on line 13
 
Обърни внимание на това -> if($count==1)
Според мен от него е грешката. Обсъдете със себе си дали не е по-добре да го промениш =)
 
Направих го така и сега даже и на локал хоста неиска да сетне сесия...
Код:
<?php
ob_start();
include "settings.php";
$username=addslashes(htmlspecialchars($_POST['username']));
$password=addslashes(htmlspecialchars($_POST['password']));
$sql="SELECT * FROM users WHERE username='$username' and password='$password'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1)
{
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
header("location:index.php");
}
else
{
header("Location:news.php?m=error");
}
ob_end_flush();
?>
 

Back
Горе