Перейти к содержимому

Реферальная программа Мегаплана


Скрипт удаления не работает, mySQL

#1 a.graphics

a.graphics
  • Пользователь
  • 97 сообщений
  • Репутация: 0
0

Отправлено 30 Май 2009 - 00:55

Проблема в том что вчера начил потихоньку переезжать на хостинг и пошли проблемы одна за другой...вот еще одна проблема бьюсь уже третий час о_О хоть плач...

Скрипт пишет о успешном завершении работы но не выполняет действие а именно удаление:
<?php
/*
 * Created on 18.05.2009 удаление новостей
 */
	session_start();
$lname = $_SESSION[lname];
$secret = $_SESSION[secret];
 		require_once "mysqlConfig.php";
		  $db=mysql_connect($host,$name,$pass)OR DIE (mysql_error());

	   mysql_select_db("$dbname",$db)OR DIE(mysql_error());
			$result=("SELECT * FROM $tbname2 WHERE login='$lname' AND password='$secret' ");
		 		 $q=mysql_query($result)OR DIE(mysql_error());

if($q){

  if($re = mysql_fetch_array($q))
	  {
		mysql_select_db("$dbname",$db)OR DIE(mysql_error());
			$resultQ =("DELETE FROM `$tbname` WHERE `$tbname`.`Id`='$Id' ")OR DIE(mysql_error());// пробовал $_POST['Id']
		 		 $qQ = mysql_query($resultQ)OR DIE(mysql_error());
		 		 	if($qQ){
		 		 		echo "<meta http-equiv='refresh' content='1; url=dir.php' /><br>удаление..";
		 		 	}else{
		 		 		echo "<meta http-equiv='refresh' content='1; url=./403.html' />";
		 		 	}
	  }
}else{
	echo "<meta http-equiv='refresh' content='1; url=./403.html' />";
}
mysql_close($db)
?>

В браузерной строке пишет четко: www.******.kz/admin/del.php?Id=2 т.е. id передается =) ....не вкурю.....

 

 

  • 0

#2 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 30 Май 2009 - 01:16

a.graphics, сколько раз вам говорить,
$resultQ =("DELETE FROM `$tbname` WHERE `$tbname`.`Id`='$Id' ")OR DIE(mysql_error());// пробовал $_POST['Id']
Что за скобки? И вообще причём тут or die в присвоении переменной.
Вот вам код, как должен выглядеть...
<?php
/*
* Created on 18.05.2009 удаление новостей
*/
session_start();
$lname = $_SESSION['lname'];
$secret = $_SESSION['secret'];

require_once "mysqlConfig.php";

$db=mysql_connect($host,$name,$pass) or die(mysql_error());
mysql_select_db("$dbname",$db) or die(mysql_error());

$query = "SELECT * FROM {$tbname2} WHERE login='{$lname}' AND password='{$secret}' LIMIT 1 ";
$res = mysql_query($query) or die(mysql_error());

if(mysql_num_rows($res) == 1)
{
   $array = mysql_fetch_array($res);
   $id_del = intval($array['id']);
   $query = "DELETE FROM {$tbname} WHERE id={$id_del} ";
   $res = mysql_query($query) or die(mysql_error());
   if($res)
   {
	  echo "<meta http-equiv='refresh' content='1; url=dir.php' /><br>удаление..";
   } else {
	  echo "<meta http-equiv='refresh' content='1; url=./403.html' />";
} else {
   echo "<meta http-equiv='refresh' content='1; url=./403.html' />";
}

mysql_close($db)
?>

  • 0

#3 a.graphics

a.graphics
    Topic Starter
  • Пользователь
  • 97 сообщений
  • Репутация: 0

Отправлено 30 Май 2009 - 01:16

Еще раз глянул на настройки сервера PHP
register_globals = Off =(
...не пойму что за фигня?!?....
Появилась еще проблема с обновлением данных (редактирование)..да что же такое :)
  • 0

#4 a.graphics

a.graphics
    Topic Starter
  • Пользователь
  • 97 сообщений
  • Репутация: 0

Отправлено 30 Май 2009 - 01:20

ZiTosS, ...насчет скобок понял =) а вот насчет or die надежда =) хоть что то покажет =)
intval($array['id']);
можно хоть немного объяснить ?
  • 0

#5 a.graphics

a.graphics
    Topic Starter
  • Пользователь
  • 97 сообщений
  • Репутация: 0

Отправлено 30 Май 2009 - 01:33

:)
  • 0

#6 a.graphics

a.graphics
    Topic Starter
  • Пользователь
  • 97 сообщений
  • Репутация: 0

Отправлено 30 Май 2009 - 01:34

ZiTosS,
$query = "SELECT * FROM {$tbname2} WHERE login='{$lname}' AND password='{$secret}' LIMIT 1 ";
$res = mysql_query($query) or die(mysql_error());

if(mysql_num_rows($res) == 1)
{
   $array = mysql_fetch_array($res);
   $id_del = intval($array['id']);
   $query = "DELETE FROM {$tbname} WHERE id={$id_del} ";
   $res = mysql_query($query) or die(mysql_error());
   if($res)
хм...странно но тут ошибка =) наверно вы постоянно работаете :) просто в
$array = mysql_fetch_array($res);
запрос нужно к другой таблице =)

session_start();
$lname = $_SESSION[lname];
$secret = $_SESSION[secret];
		require_once "mysqlConfig.php";
		  $db=mysql_connect($host,$name,$pass)OR DIE (mysql_error());

	   mysql_select_db("$dbname",$db)OR DIE(mysql_error());
			$result=("SELECT * FROM $tbname2 WHERE login='$lname' AND password='$secret' ");
				  $q=mysql_query($result)OR DIE(mysql_error());
потом так
if(mysql_num_rows($res) == 1)
{
   mysql_select_db("$dbname",$db)OR DIE(mysql_error());
			$resultQ =("DELETE FROM `$tbname` WHERE `$tbname`.`Id`='$Id' ")OR DIE(mysql_error());// пробовал $_POST['Id']
				  $qQ = mysql_query($resultQ)OR DIE(mysql_error());

   $array = mysql_fetch_array($qQ);
   $id_del = intval($array['id']);
   $query = "DELETE FROM {$tbname} WHERE id={$id_del} ";
   $res = mysql_query($query) or die(mysql_error());
   if($res)
   {
	  echo "<meta http-equiv='refresh' content='1; url=dir.php' /><br>удаление..";
   } else {
	  echo "<meta http-equiv='refresh' content='1; url=./403.html' />";
} else {
   echo "<meta http-equiv='refresh' content='1; url=./403.html' />";
}

mysql_close($db)
?>
наверно я ошибаюсь =)
  • 0

#7 a.graphics

a.graphics
    Topic Starter
  • Пользователь
  • 97 сообщений
  • Репутация: 0

Отправлено 30 Май 2009 - 01:42

странно все так быстро произошло..и человек пропал =( хмык..... :) просто в вашем коде есть непонятки...ну ладно наверно все спят =( буду мучиться дальше =(
  • 0

#8 a.graphics

a.graphics
    Topic Starter
  • Пользователь
  • 97 сообщений
  • Репутация: 0

Отправлено 30 Май 2009 - 01:48

И еще =) решил проверить СКОБКИ ....
session_start();
$lname = $_SESSION[lname];
$secret = $_SESSION[secret];
 		require_once "mysqlConfig.php";
		  $db=mysql_connect($host,$name,$pass)OR DIE (mysql_error());

	   mysql_select_db("$dbname",$db)OR DIE(mysql_error());
			$result="SELECT * FROM {$tbname2} WHERE login={$lname} AND password={$secret} ";
		 		 $q=mysql_query($result)OR DIE(mysql_error());
сразу выдал ошибки ...mySQL ругается...а именно что Unknown column 'roman56' in 'where clause' - типа такого поля нет =)
емае...так какие советы слушать?!? о_О
  • 0

#9 a.graphics

a.graphics
    Topic Starter
  • Пользователь
  • 97 сообщений
  • Репутация: 0

Отправлено 30 Май 2009 - 02:23

я под столом =)))))))

проблема решена без изменения кода а именно поменялось только параметр передачи...

$resultQ =("DELETE FROM `$tbname` WHERE `$tbname`.`Id`='$_GET[Id]' ")

вот и все =) и кстате почти везде проблемы решились =))) вот я ....короче =) невнимательный ..насчет того что писали выше (не работает) ...=)
Спасибо =)
  • 0

#10 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 30 Май 2009 - 02:30

хм...странно но тут ошибка =) наверно вы постоянно работаете wink.gif просто в
запрос нужно к другой таблице =)

Нет вы ошибаетесь. Чтобы обращаться к разным таблицам в одной и тойже базе данных не нужно 10 раз выбирать одну и туже БД. Вы осознайте что в базе данных множество таблиц. Вы один раз выбрали БД и с ней работаете.

сразу выдал ошибки ...mySQL ругается...а именно что Unknown column 'roman56' in 'where clause' - типа такого поля нет =)
емае...так какие советы слушать?!? о_О

А кто за вас ковычки будет ставить? Вель поля login и пароль текстовые
$result="SELECT * FROM {$tbname2} WHERE login='{$lname}' AND password='{$secret}'";

А вообще мой код правильный! можете им воспользоваться.
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru