Грешка при POPUP

karamel4o

Registered
Здравейте,
Имам една логин система и си работеше идеално, докато не добавих това :
НЕ Е РЕКЛАМА!
сега когато съм с това извеждам си самата форма в popup и когато има грешка в името или паролата не ми извежда нищо :(
ето го кода за формата :
PHP:
	<?php
	}
	else
	{	
	  ?>
    <table border="0" width="950px" cellspacing="2" cellpadding="2" align="center" class="trans">
   <tr>
    <td align="left">
	 <a onclick="javascript:window.open('http://localhost/register.php','Нова регистрация','menubar=no,width=430,height=490,toolbar=no');"><div class="reg_btn"></div></a>
	</td>

	<td align="right">
	<a href="#login-box" class="login-window"><div class="login_btn"></div></a>
	</td>
   </tr>
  </table>
  
  <div id="login-box" class="login-popup">
        <a href="#" class="close"><img src="images/close_pop.png" class="btn_close" title="Close Window" alt="Close" /></a>
          	 <form action="login.php" method="POST">
	  <table border="0" cellspacing="2" cellpadding="2">
	   <tr>
	    <td><input type="text" class="usern_input" name="username" value="потребител" onblur="addText(this);" onfocus="clearText(this)"></td>
		<td><input type="password" class="passwd_input" name="password" value="парола" onblur="addText(this);" onfocus="clearText(this)"></td>
		<td><input type="submit" value="" class="login_btn" name="submit"></td>
	   </tr>
	  </table>
	 </form>
</div>

  <?php if($_SESSION[error]) { ?>
  <table class="red" align="center">
  <tr>
  <td>
   <center><b><?php print $_SESSION['error']; session_destroy(); ?></b>
  </td>
  </tr>
  </table>
<?php
}}
?>
Ето го и login.php :
PHP:
<?php
session_start();
require ("config.php");
$username = addslashes($_POST['username']);
$password = md5(addslashes($_POST['password']));

if($_SERVER['REQUEST_METHOD'] != "POST")
{
	header('Location: index.php');
}	
if(isset($username) && isset($password))
{
	$q = mysql_query("SELECT username, password FROM users WHERE username='$username' AND password='$password' LIMIT 1") or die(mysql_error());
	if(mysql_num_rows($q) == 1)
	{
		$user = mysql_fetch_assoc($q);
		$_SESSION['username'] = $user['username'];
		header("Location: index.php");
	}
	else
	{
		$_SESSION['error'] = "Грешно име или парола";
		header("Location: index.php");
	}
}
?>
 
Е много ясно,то няма къде да покаже грешката... аз за това не обичам такива попъп-и,защото се показва при клик,и няма как да върне грешка.
Всъщност може и да може,но няма да е в прозорчето с логин бокса,а някоя друга част на сайта,но това си е игра.
:?:
 
Аз не искам да е в POPUP прозореца искам да ми го изписва в index.php но когато поставя кода там не става ? :\
 
karamel4o каза:
Аз не искам да е в POPUP прозореца искам да ми го изписва в index.php но когато поставя кода там не става ? :\
Кода по принцип си работи и връща грешка,но след като добави този попъп се прецака ,така ли ?
 
karamel4o каза:
Аз лично не виждам къде е проблема ,в кода който си дал.
Тествай отново,в смисъл ако имаш чистия файл,добави наново popup-а.
Другиа вариант е да пробваш с друг попъп... но като цяло проблема най-вероятно е във php Кодът и това той къде трябва д асе покаже по принцип.Тоест хубаво е да сложиш самата грешка да се показва в определен див , като него за тест можеш да му дадеш position:absolute; просто за да видиш дали все пак си се показва.

Друго не мога да помогна...
 
karamel4o каза:
Пак не става :(
Код:
$_SESSION['error'] = "Грешно име или парола";
това ли е грешката която се изписва при грешен потребител?
ако е така,без jquery-то къде се показва текста по принцип?
И кое точно не стана всичко ли опита което споменах...? :lol:
 
Hous каза:
karamel4o каза:
Пак не става :(
Код:
$_SESSION['error'] = "Грешно име или парола";
това ли е грешката която се изписва при грешен потребител?
ако е така,без jquery-то къде се показва текста по принцип?
И кое точно не стана всичко ли опита което споменах...? :lol:
Да това е грешката преди да вкарам popup-a грешката се изписваше най отгоре на страницата в червено поле и сега трябва да е така но не става :(
PHP:
<?php if($_SESSION[error]) { ?>
  <table class="red" align="center" style="position:absolute; ">
  <tr>
  <td>
   <center><b><?php print $_SESSION['error']; session_destroy(); ?></b>
  </td>
  </tr>
  </table>
  <?php
  }
  ?>
 
Код:
  <table class="red" align="center" style="position:absolute; ">
това си го сложил защото ти дадох идеята да му дадеш aboslut-на позиция?
Защото ако е така,трябва да е в div не във таблица...
Иначе от кода който си дал пак казвам,не виждам проблем... пробвай с друг popup...
или някой друг ако има идея... :lol:
 
махнах POPUP-a но отново не изкарва грешката ето ми го кода :(
header.php
PHP:
	   <?php if($_SESSION['error']) { ?>
  <table class="red" align="center" style="position:absolute; ">
  <tr>
  <td>
   <center><b><?php print $_SESSION['error']; session_destroy(); ?></b>
  </td>
  </tr>
  </table>
  <?php
  }
  ?>
login.php
PHP:
<?php
session_start();
require ("config.php");
$username = addslashes($_POST['username']);
$password = md5(addslashes($_POST['password']));

if($_SERVER['REQUEST_METHOD'] != "POST")
{
	header('Location: index.php');
}	
if(isset($username) && isset($password))
{
	$q = mysql_query("SELECT username, password FROM users WHERE username='$username' AND password='$password' LIMIT 1") or die(mysql_error());
	if(mysql_num_rows($q) == 1)
	{
		$user = mysql_fetch_assoc($q);
		$_SESSION['username'] = $user['username'];
		header("Location: index.php");
	}
	else
	{
		$_SESSION['error'] = "Грешно име или парола";
		header("Location: index.php");
	}
}
?>
 

Back
Горе