Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

leonardo.lima

[Resolvido] $_SERVER['PHP_SELF']

Recommended Posts

ola, peço desculpas antecipadamente caso este nao seja o lugar apropriado para este tipo de tópico . . .

bom, tenho uma tabela de usuarios, onde cada usuario possui seu status de 1 ou 0 no caso . . . e estou usando o $_SERVER['PHP_SELF'] para que o status possa ser alterado na mesma pagina, porem, só os valores do 2(segundo) if entram no

 if(isset($_GET['id_usuario']) && ($_GET['status'])){ 

e os valores do 1(primeiro) if nao entram no isset, porem, passao os parametros corretamente . . .

ja tentei usar $_SERVER['REQUEST_URI'] e nao houve soluçao, teria a possibilidade de alguem me ajudar?

 

obrigado. . . :grin:

 

segue o código:

 

<td scope="row">
<?php

if($status==1){
  echo "<a href='" . $_SERVER['PHP_SELF'] . "?id_usuario=" . $user['id_usuario'] . "&status=" . 0 ."'>" . 
  "<img src='imagens/disable.png' title='desabilitar' alt='desabilitar' border='0' /> " . "</a>";
}

if($status==0){	
  echo "<a href='" . $_SERVER['PHP_SELF'] . "?id_usuario=" . $user['id_usuario'] . "&status=" . 1 ."'>" . 
  "<img src='imagens/enable.png' title='habilitar' alt='habilitar' border='0' /> " . "</a>";
}

?>
</td>

 

 

 

if($_SERVER['REQUEST_METHOD'] = $_GET){
if(isset($_GET['id_usuario']) && ($_GET['status'])){
	$id = trim($_GET['id_usuario']);
	$status = trim($_GET['status']);

	if(!empty($id) && !empty($status)){
		if($status==0){
			$usuario->alterarStatus($id, $status);
		}
		if($status==1){	
			$usuario->alterarStatus($id, $status);	
		}
	}
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que o problema seja que "Status" quando tem o valor definido em "0" esteja avaliando como False.

 

Dá pra simplificar pra caramba isso aí, sem contar que tem muito conceito errado!!

 

if($_SERVER['REQUEST_METHOD'] === 'GET') {
   $id     = isset($_GET['id_usuario']) ? trim($_GET['id_usuario']) : FALSE;
   $status = isset($_GET['status']) ? trim($_GET['status']) : FALSE;
   if ($id and $status) {
       $usuario->alterarStatus($id, $status);
   }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

É realmente Evandro Oliveira nao tava entrando no if(isset por causa do valor 0 como voce disse devia estar interpretando como um valor false,

e o pior é que eu ja tinha feito de tudo e isso seria a ultima coisa que eu iria imaginar . . .

 

muito obrigado,

:thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.