mitch_nitro_ Ответов: 1

Неопределенная переменная mygrid1 in C:\xampp\htdocs\ej\include\count.php на линии 45


<?php
date_default_timezone_set("As<pre>ia/Hong_Kong");
$treg = date("Y-m");
$ip = $ip;
$mycount_id1 = $_SESSION['count_id'];
if(isset($_SESSION['uid']))
	{
	$myuid1 = $_SESSION['uid'];
	$test1 = $_SESSION['type'];
	if($test1 == "0")
		{
		$myuid1 = $_SESSION['uid'];
		$mygrid1 = "0";
		}
	elseif($test1 == "3")
		{
		$mygrid1 = $_SESSION['uid'];
		$myuid1 = "0";
		}
	}
else
	{
	$myuid1 = "0";
	$mygrid1 = "0";
	}
if(isset($_SESSION['ins_id']))
	{
	$myins_id1  = $_SESSION['ins_id'];
	}
else
	{
	$myins_id1 = "0";
	}
include("bot1.php");
if($oinkcaboink1 == "0")
	{
if(isset($count_iis))
	{
	$count_artid1 = "0";
	$query1 = mysql_query("SELECT * FROM issue WHERE iis = '$count_iis'");
	while($row1 = mysql_fetch_assoc($query1))
		{
		$dbarch_id1 = $row1['arch_id'];
		}
	$query = mysql_query("SELECT * FROM count_monthly WHERE iis='$count_iis' AND uid='$myuid1' AND grid='$mygrid1' AND country_code='$mycount_id1' AND ins_id='$myins_id1' AND ipaddress='$ip' AND treg='$treg'");
	$num = mysql_num_rows($query);
	if($num != "0")
		{
		while($row = mysql_fetch_assoc($query))
			{
			$iis_count = $row['iis_count'];
			$hits = $row['hits'];
			$ct_id = $row['ct_id'];
			$hits++;
			}
		$iis_count++;
		$update = mysql_query("UPDATE count_monthly SET iis_count='$iis_count', hits='$hits' WHERE ct_id = '$ct_id'");
		}
	else
		{
		$add = mysql_query("INSERT INTO count_monthly VALUES ('','$dbarch_id','','$count_iis','1','0','0','$myuid1','$mygrid1','$mycount_id1','$myins_id1','$ip','0','0','$treg','1')");
		}
	}
elseif(isset($count_artid))
	{
	$count_iis = "0";
	$query1 = mysql_query("SELECT * FROM article WHERE artid = '$count_artid'");
	while($row1 = mysql_fetch_assoc($query1))
		{
		$dbiis = $row1['iis'];
		$query2 = mysql_query("SELECT * FROM issue WHERE iis = '$dbiis'");
		while($row2 = mysql_fetch_assoc($query2))
			{
			$dbarch_id = $row2['arch_id'];
			}
		}
	$query = mysql_query("SELECT * FROM count_monthly WHERE artid='$count_artid1' AND uid='$myuid1' AND grid='$mygrid1' AND country_code='$mycount_id' AND ins_id='$myins_id' AND ipaddress='$ip' AND treg='$treg'");
	$num = mysql_num_rows($query);
	if($num != "0")
		{
		while($row = mysql_fetch_assoc($query))
			{
			$artid_count = $row['artid_count'];
			$ct_id = $row['ct_id'];
			$view = $row['view'];
			$view++;
			}
		$artid_count++;
		$update = mysql_query("UPDATE count_monthly SET artid_count='$artid_count', view = '$view' WHERE ct_id = '$ct_id'");
		}
	else
		{
		$add = mysql_query("INSERT INTO count_monthly VALUES ('','$dbarch_id','','$dbiis','0','$count_artid','1','$myuid1','$mygrid1','$mycount_id1','$myins_id1','$ip','0','0','$treg','1')");
		}
	}
	}
>

What I have tried:

i tried to rename the variable but nothing happens still showing the same notice/error

mitch_nitro_

жирным шрифтом выделена строка 45

1 Ответов

Рейтинг:
8

David_Wimbley

не запуская сам этот дамп кода, первое, что я вижу, - это то, что ваша проблема заключается в том, что ваша переменная $mygrid выходит за рамки оператора SELECT в строке 45.

Я немного заржавел на своем PHP, но похоже, что вы объявили свой varaible внутри вложенного оператора if или оператора else, который держит его в рамках этого if/else

if(isset($_SESSION['uid']))
	{
	$myuid1 = $_SESSION['uid'];
	$test1 = $_SESSION['type'];
	if($test1 == "0")
		{
		$myuid1 = $_SESSION['uid'];
		
	$mygrid1 = "0";
		}
	elseif($test1 == "3")
		{
		$mygrid1 = $_SESSION['uid'];
		$myuid1 = "0";
		}
	}
else
	{
	$myuid1 = "0";
	$mygrid1 = "0";
	}


Вы пытаетесь получить доступ к переменной $mygrid вне области действия этого оператора if/else, поэтому получаете неопределенную ошибку.

Переместите объявление переменной mygrid1 за пределы if(isset блок, а затем он должен быть в пределах области действия оператора select, чтобы он был определен.

Так что что-то вроде этого

$mygrid1 = "DECLARE HERE";
if(isset($_SESSION['uid']))
	{
//Set mygrid1 to whatever value it needs to be
}
else
{
//Set mygrid1 to whatever value it needs to be
}

// Run select statement here with $mygrid1


mitch_nitro_

Спасибо вам. все сделано, больше никаких ошибок