2015-07-31 5 views
-1

Я надеюсь, что вы сможете мне помочь.PHP-Variable scope

<html> 
    <head> 
    </head> 
    <body> 
    <?php 
     $ime=$_POST["p_ime"]; 
     $grad=""; 
     $connection1=mysql_connect("localhost","Admin","rentacar") or die(mysql_error); 
     mysql_select_db("test",$connection1) or die(mysql_error); 
     $selectQuery="SELECT idgrad, naziv from grad"; 
     $result=mysql_query($selectQuery,$connection1) or die ("Ne funkcionise"); 
     while($row=mysql_fetch_array($result)) 
     { 
      //echo $row["naziv"]; 
      //echo $row["idgrad"]; 
      if($_POST["p_grad"]==$row["naziv"]){ 
      $grad=$row["idgrad"]; 
      } 
      echo $grad; 
     } 
     if ($grad="") 
      header("Location:formaGrad.html"); 
     if ($ime!="" || $grad!=""){ 
     echo $ime; 
     echo $grad; 
     $connection2=mysql_connect("localhost","Admin","rentacar") or die(mysql_error); 
     mysql_select_db("test",$connection2) or die(mysql_error); 
     $insertQuery="INSERT INTO korisnik VALUES 
        (NULL,"."\"".$ime."\","."\"".$grad."\")"; 
     mysql_query($insertQuery,$connection2); 
     echo " Uspiješno unešen grad $ime"; 
     } 
     else{ 
      echo "<br><br><h1 align=\"center\">Nisu unešeni zahtjevani podaci</h1>"; 
     } 
     ?> 
    </body> 
    </html> 

В этом коде у меня проблема с переменной $ grad. Как вы можете видеть. Если все в порядке. Он должен распечатываться.

  1. echo $ grad from while loop. который отлично работает.
  2. echo $ ime в 1-м «если» также отлично работает.
  3. echo $ grad в 1-м «если» хорошо, это не работает, просто не печатайте ничего.
  4. echo "Uspiješno unešen grad $ ime"; в строке 31 также работает отлично

Так напечатать $ Grad внутри во время цикла но не снаружи, так что я думаю, у меня есть проблемы области видимости, но я не знаю, как ее решить. Пожалуйста помоги.

+0

'$ grad =" "' задание – Rizier123

ответ

1

Эта часть кода является проблема

if ($grad="") 
     header("Location:formaGrad.html"); 

должно быть

if ($grad == "")... 

Приветствия.

+0

Thx dude, я убью себя, я попробую все о сфере видимости в течение часа и не вижу эту синтаксическую ошибку. –

+0

Чувак! Не убивай себя! Если это решило вашу проблему, примите ответ. Это всегда происходит. Благодарим за stackoverflow: D –

+0

Я принимаю это;) Просто должен был w8 10 минут, чтобы принять ответ. –

Смежные вопросы