Jump to content


Photo

Dúvida Ao Juntar Variavel Php Com Tag Mysql


  • Faça o login para participar
13 replies to this topic

#1 donizeth

donizeth

    Normal

  • Usuários
  • 77 posts
  • Sexo:Masculino

Posted 07/07/2008, 17:23

Bom gente, tenho o codigo abaixo, so que estou com problemas nessa linha:

$y = mysql_query("SELECT id FROM plngratis WHERE nome = '$nome' ");

alguém poderia me dizer como coloco a váriavel $nome ai em cima? ja tentei com duas aspas, aspas simples e num deu... se alguem puder me ajudar fico grato... obrigado a todos...

Codigo:
<?php
	
	$nome = $_POST['nome'];
	
		include "class/config.php"; // Conectando ao BD
		
	$y = mysql_query("SELECT id FROM plngratis WHERE nome = '$nome' "); //Selecionando a tabela
		
	while($x = mysql_fetch_array($y)) //criei um array chamado $x que sera responsavel pra listar os dados
		
		{ echo '
		<table>
		<tr>
		<td>O número de seu pedido é:</td>
		<td>'.$x['id'].'</td>
		</tr>
		</table>
		';}
		
	?>


#2 Eduardo F.

Eduardo F.

    Turista

  • Usuários
  • 40 posts
  • Sexo:Não informado

Posted 07/07/2008, 17:39

Olá donizeth. Tente usar:

$y = mysql_query("SELECT id FROM plngratis WHERE nome = '".$nome."' ");

//ou então

$y = mysql_query('SELECT id FROM plngratis WHERE nome=\''.$nome.'\'');

A segunda maneira é melhor pois não faz uso das aspas duplas e isso poupa processamento quando é mandado para o servidor.

Espero ter ajudado, qualquer coisa poste de volta.

Um grande abraço.

#3 donizeth

donizeth

    Normal

  • Usuários
  • 77 posts
  • Sexo:Masculino

Posted 07/07/2008, 18:16

Eduardo, vlw pela ajuda, mais ainda continua tendo algo de errado, quando eu uso as maneiras que vc me passou, o "echo" me retorna apenas os campos "id" que estão vazios e nao me retorna o campo "id" que foi preenchido... se puder me ajudar nessa, fico grato... obrigado....

#4 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 07/07/2008, 21:24

donizeth seu método não está errado, mas você verificou se NOME está retornando algum valor?

Por que se como você disse está mostrando onde não tem valor no banco na coluna "nome"

Então por que o $nome não está retornando valor e o SQL está ficando assim:
SELECT id FROM plngratis WHERE nome = " "
Retornando os registros onde NOME é vazio ....
Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)

#5 Eduardo F.

Eduardo F.

    Turista

  • Usuários
  • 40 posts
  • Sexo:Não informado

Posted 07/07/2008, 22:19

É Donizeth, se a variável $nome estiver vazia a busca do MySQL será falha e o resultado vai ser nada.
Verifique se a variável está sendo definida realmente.
Pra checar se é isso mesmo que o lwirkk falou coloque logo abaixo a linha do $y o comando die($y); fazendo isso o script php vai parar de rodar e vai retornar na tela o valor de $y e vc vai saber se a variável $nome está vazia ou não.

Edição feita por: Eduardo F., 07/07/2008, 22:21.


#6 donizeth

donizeth

    Normal

  • Usuários
  • 77 posts
  • Sexo:Masculino

Posted 08/07/2008, 10:03

Bom gente, realmente a variavel estava retornando vázio, ai resolvi +- desse modo:

cad.php:
$nome = $_POST['nome'];
	$cpf = $_POST['cpf'];
	$telcelular = $_POST['ddd_cel'] . " " . $_POST['telcelular'];
	$data = date("Y/m/d H:i:s"); 
	$expiraem = strftime("%d/%m/%Y às %H:%M:%S", strtotime("+1 years"));
	
	session_start();
	$_SESSION['nome'] = $nome;

finalizar.php
session_start();		
	if(isset($_SESSION['nome'])) { echo 'o nome é: '.$_SESSION['nome'].' '; }

bom, dessa maneira ai ele me retornou o nome que foi preenchido, agora vou fazer como queria, so que a minha duvida é a seguinte, qd devo encerrar a sessão? e devo encerrar com session_destroy ou session_unset ? vlwww gente muito obrigado a todos...

#7 DarkSign

DarkSign

    Doutor

  • Usuários
  • 868 posts
  • Sexo:Masculino
  • Localidade:Brasil
  • Interesses:Tecnologias na área WEB em geral e desenvolvimento.

Posted 08/07/2008, 13:58

Bem, eu geralmente fecho a sessão, setando para a seção existente um valor nulo, já que o próprio browser quando fechado se encarrega de terminar "fisicamente" a seção.

/*DarkSign*/
Não sabe por onde começar? Que tal pelas Regras ?

#8 Eduardo F.

Eduardo F.

    Turista

  • Usuários
  • 40 posts
  • Sexo:Não informado

Posted 08/07/2008, 14:32

Realmente quando o browser é fechado as sessões são todas finalizadas. Eu tenho o costume de usar o session_destroy() somente quando é necessário que o usuário faça Logout. Estive lendo sobre as duas funções que você falou, mas não vi muita diferença entre elas. Pelo que entendi a session_destroy() apaga todos os dados relacionados à sessão só não apaga as variáveis globais e os cookies relacionados à sessão. Já a session_unset() simplesmente libera todas as variáveis de sessão sendo que para apagar as variáveis em si é necessário usar a função unset().
Não sei se fiz a melhor interpretação, se eu estiver errado, por favor, alguém me corrija.
Só para concluir, se você quer fechar a sessão e apagar todas as variáveis da mesma use o session_destroy(), se você quiser fechar a sessão e só liberar as variáveis use o session_unset().
Espero ter ajudado. :lol:

#9 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 08/07/2008, 14:54

Eu usava assim a alguns meses, hoje como tem tempos que não faço um sistema de login, não sei se ainda é a melhor opção '-'

unset($_SESSION['login']);
unset($login);
session_destroy();
session_write_close();

Edição feita por: lwirkk, 08/07/2008, 14:57.

Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)

#10 donizeth

donizeth

    Normal

  • Usuários
  • 77 posts
  • Sexo:Masculino

Posted 08/07/2008, 17:41

Bom com a ajuda de vcs cheguei a uma conclusão entao que nao é preciso encerrar a sessão, pois nao trata-se de nenhum sistema de login ou aréas restritas, e somente para pegar os dados da primeira pagina e mandar para a terceira pagina. estou certo? Obrigado a todos vcs,, me ajudarao muito... vlw.....

#11 ninhovip

ninhovip

    Interspire.com.br

  • Banidos
  • PipPipPip
  • 212 posts
  • Sexo:Masculino
  • Localidade:Recife - PE
  • Interesses:PHP, MySQL, Web 2.0, jQuery, Flash/AS, Photoshop

Posted 08/07/2008, 17:52

já tentou global $nome; $nome = $_POST['nome'];
?

falow!
Interspire Brasil
Tudo p/ Shopping Cart & E-mail Marketer BR
(usehost) Servidores VPS Cloud Computing
SMTP Dedicado | CPanel/WHM | WHMCS4
usehost.com.br | executtivo@msn.com | @filipemtro

#12 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 08/07/2008, 18:06

já tentou global $nome; $nome = $_POST['nome'];
?

falow!

Não é recomendado suar GLOBAL ...
Por isso no PHP 5, não tem register_globals ativado por padrão...
Mas em último caso, está aí a dica sua que vale também. =)
Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)

#13 donizeth

donizeth

    Normal

  • Usuários
  • 77 posts
  • Sexo:Masculino

Posted 09/07/2008, 10:44

Bom, fiz abrindo uma sessão msm....

lwirkk, ninhovip, Eduardo F., DarkSign bom gente, vlw mesmo, agradeço a ajuda de todos... muito obrigado....

OBS: só pra tirar uma duvida, pra encerrar a sessão só é preciso mesmo usar em areas restrita neh? vlw...

#14 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 09/07/2008, 13:40

Bom, fiz abrindo uma sessão msm....

lwirkk, ninhovip, Eduardo F., DarkSign bom gente, vlw mesmo, agradeço a ajuda de todos... muito obrigado....

OBS: só pra tirar uma duvida, pra encerrar a sessão só é preciso mesmo usar em areas restrita neh? vlw...

Sem problemas!

E sim, em áreas restritas é mais usado isso, mas tem outros trabalhos que dependendo também precisam encerrar a sessão, (não lembro de nenhum agora, mas sei que tem '-') :lol:
Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq