Автор Тема: $_GET don`t want to get  (Прочетена 475 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

martoo

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 76
$_GET don`t want to get
« -: 08 Февруари 2012, 21:12:29 »
Привет :). Имам една форма за логване и искам да взема една иформация от GET при субмит ,но нещо неще да взима.Скрипта за изпълнение е на същия файл ,т.е където е самата форма.

<?php session_start();?>

<?php include 'header.php';?>

<?php 
if( $_SERVER["REQUEST_METHOD"] == "POST"){
    
$act=$_GET['active'];
   
  if(isset (
$act)){  
include
'../core/login_class.php';

    
$log=new Login_class();
    
    
$log->setData(array(
        
'username'=>  htmlentities($_POST['username'],ENT_QUOTES),
        
'password'=>htmlentities($_POST['password']),
        
'activate'=>$act
        
            
));
    
    
$log->setRules('username''max_length',30);
    
$log->setRules('username''min_length',3);
    
$log->setRules('username''required',''); 
    
$log->setRules('password''max_length',50);
    
$log->setRules('password''min_length',3);
    
$log->setRules('password''required','');
    
    
$log->validate();
    if(
$log->run()==true){
       echo 
$log->login();
    }
    else{
        echo 
'ne';
    }
  }
  else{
      
var_dump($act);
      
//echo 'nqma get';
  
}
}
    
?>


формта:<form method="post" action="login.php">
и линка от който искам да взема: /login.php?active=Race7o1W72UnfHUHAgLlrhAMBLAxqtoU

Stan

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 27
  • -Получени: 135
  • Публикации: 641
Re: $_GET don`t want to get
« Отговор #1 -: 08 Февруари 2012, 21:20:53 »
Когато е събмитната формата търсиш за гет параметър а в екшъна на формата го няма.Пробвай така :
Код: HTML
  1. <form method="post" action="login.php?active=Race7o1W72UnfHUHAgLlrhAMBLAxqtoU">



martoo

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 76
Re: $_GET don`t want to get
« Отговор #2 -: 08 Февруари 2012, 21:29:03 »
Правилно :) Благодаря.

Stan

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 27
  • -Получени: 135
  • Публикации: 641
Re: $_GET don`t want to get
« Отговор #3 -: 08 Февруари 2012, 23:02:29 »
И едно допълнение:
Код: PHP
  1. $act=$_GET['active'];
  2. if(isset($act)) {
  3.  //дрън, дрън
  4. }
така написана проверката за гет параметъра, ако не са "подтиснати" съобщенията и екшъна на формата е само "login.php" както беше,php щеше да те извести,че гет параметъра active несъществува(не е дефиниран,указан) и можеше сам да се сетиш за решението на проблема.В случая,се вижда ясно ползата от това да не се подтискат съобщенията в процеса на разработка. :)
Обаче,независимо че в случая проверката написана по този начин можеше да ти помогне в решаването на проблема,правилния начин за да проверериш дали съществува гет параметъра е този:

Код: PHP
  1. if(isset($_GET['active'])) {
  2.  $act=$_GET['active'];
  3.  //дрън, дрън
  4. }

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 190
  • Публикации: 3623
Re: $_GET don`t want to get
« Отговор #4 -: 08 Февруари 2012, 23:27:57 »
@martoo и да вземеш да си оправиш топика, да не се излагаме пред английско говорящите  ;D
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html