Ir para o conteúdo
Tiago fernando

querystring dúvidas

Mensagens Recomendadas

Tiago fernando    0
Tiago fernando

Ola pessoal eu estou com dificuldades na seguinte query..


<?
require_once('connect.php');

$cons = mysql_query("select * from Pagina where titulo = '".$valor."'");
$linha = mysql_fetch_array($cons);
?>

<body>

<?

$valor = 'pag';


            $valor = (isset($_GET[$valor])) ? addslashes(htmlspecialchars($_GET[$valor], ENT_QUOTES)) : false;

   switch ($valor)  {

         case 'Serviços':

            echo $linha['conteudo'];

         break;

         case 'Quem Somos':

            echo $linha['conteudo'];

         break;

   default:
      echo '';
   break;
}
?>
</body>

ou seja o que eu queria fazer é qdo seleciono uma opção no menu exemplo:<a href="index.php?pag=Serviços"> a query iria na base de dados e escolhia o conteudo da pagina serviços. mas não esta a funcionar

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago fernando    0
Tiago fernando

desculpa eu sou novo em programação eu não precebi muito bem como montar a query pelo que precebi o código teria de ser assim

<?
$cons = mysql_query("select * from Pagina");
$linha = mysql_fetch_array($cons);
?>

mas como eu iria montar a quer?

<?

$valor = 'pag';


            $valor = (isset($_GET[$valor])) ? addslashes(htmlspecialchars($_GET[$valor], ENT_QUOTES)) : false;

   switch ($valor)  {

         case 'Serviços':

            $cons = mysql_query("select * from Pagina where titulo = '.valor.'");
                 $linha = mysql_fetch_array($cons);

            echo $linha['conteudo'];

         break;

fiquei perdido agora  :wallbash:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
softklin    12
softklin

Podes começar no W3Schools: http://www.w3schools.com/PHP/php_syntax.asp

Estás a ver lá em cima a variável valor a ser utilizada (linha 4)?

$cons = mysql_query("select * from Pagina where titulo = '".$valor."'");

Agora, vê onde é que lhe atribuis conteúdo (à variável $valor). No fundo, tal e qual o que o fnds disse... Não esquecer que o ficheiro PHP é lido de cima para baixo pelo interpretador.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago fernando    0
Tiago fernando

opa acho que ja entedi qdo chegar em casa vou testar obrigado pela ajuda pessoal, este forum é fantastico tem me ajudado muito e facilitado a aprendizagem, já agora essa query é considerada segura da maneira que esta montada?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
djthyrax    11
djthyrax

O addslashes() não tem qualquer vulnerabilidade, simplesmente as pessoas não sabem usar a função correctamente e isso sim cria vulnerabilidades na aplicação.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago fernando    0
Tiago fernando

djthyrax eu sou novo em programação e sei que não sou muito bom mas tento sempre fazer da maneira mais correta, eu gostaria de saber se o addslashes()  que eu utilizei esta da maneira correta???

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
djthyrax    11
djthyrax

Está usado correctamente no contexto correcto do script, mas pode estar a criar-te uma vulnerabilidade dependendo do servidor. O grande problema do addslashes() é que por vezes quando o magic_quotes está activo, o addslashes() reverte o efeito e acaba por "descapar" os caracteres mais perigosos. Por isso, o ideal é teres logo ao início uma rotina que veja se o magic_quotes está activo (com o magic_quotes_gpc()), e se tiver, usas o stripslashes(), e depois nas queries usas o mysql_real_string_escape() como te indicaram.

PS: O mysql_real_string_escape() funciona fazendo um pedido ao servidor MySQL, pelo que se a usares, vais ter que usar mesmo o MySQL como SGBD, e tens de já ter chamado o mysql_connect(). :thumbsup:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade