Ir para conteúdo
Fórum Script Brasil
  • 0

comando $_GET parece não funcionar.


LayonOliveira

Pergunta

olá pessoal, não achei no forum por isso resolvir postar. Estou quebrando a cabeça tentando achar o erro do meus PHPs Form, conexao e funcao( de um formuário q desejo cadastrar e editar:

Obs: erro está na linha 11 e 52 do php FORM

Form

1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5<title>Untitled Document</title>
6</head>
7
8<body>
9<?
10include "conexao.php";
11if($_GET['funcao'] != "editar"){
12?>
13<form id="form1" name="form1" method="post" action="funcao.php?funcao=gravar">
14 <table width="305" border="0">    <tr>
15
16      <th width="53" scope="row">Nome:</th>
17     <td width="236"><label>
18       <input name="nome" type="text" id="nome" size="40" />
19      </label></td>
20    </tr>
21    <tr>
22      <th scope="row">Email:</th>
23      <td><label>
24        <input name="email" type="text" id="email" size="40" />
25      </label></td>
26    </tr>
27    <tr>
28      <th scope="row">Cidade:</th>
29      <td><label>
30       <input name="cidade" type="text" id="cidade" size="40" />
31      </label></td>
32    </tr>
33    <tr>
34     <th scope="row">Mensagem</th>
35      <td><label>
36        <textarea name="mensagem" id="mensagem" cols="45" rows="5"></textarea>
37     </label></td>
38    </tr>
39    <tr>
40     <th height="59" scope="row"> </th>
41      <td><label> </label><div align="right">
42        <input type="submit" name="button" id="button" value="Cadastrar" />
43      </div></td>
44    </tr><br />
45    <br />
46  </table>
47</form>
48<?
49}
50?>
51<?
52if($_GET['funcao'] == "editar"){
53$id = $_GET['id'];
54$sql_update = mysql_query("SELECT * FROM aprendendo WHERE id = '$id' ");
55while($linha = mysql_fetch_array($sql_update)){
56    $nome = $linha['nome'];
57    $email = $linha['email'];
    $cidade = $linha['cidade'];
    $mensagem = $linha['mensagem'];
}
?>
<form id="form1" name="form1" method="post" action="funcao.php?funcao=editar&id=<? echo $id ?>">
  <table width="305" border="0">    <tr>

      <th width="53" scope="row">Nome:</th>
      <td width="236"><label>
        <input name="nome" type="text" id="nome" size="40" value=<? echo $nome ?> />
      </label></td>
    </tr>
    <tr>
      <th scope="row">Email:</th>
      <td><label>
        <input name="email" type="text" id="email" size="40" value=<? echo $email ?> />
      </label></td>
    </tr>
    <tr>
      <th scope="row">Cidade:</th>
      <td><label>
        <input name="cidade" type="text" id="cidade" size="40"  value=<? echo $cidade ?>/>
      </label></td>
    </tr>
    <tr>
      <th scope="row">Mensagem</th>
      <td><label>
        <textarea name="mensagem" id="mensagem" cols="45" rows="5"><? echo $nome ?></textarea>
      </label></td>
    </tr>
    <tr>
      <th height="59" scope="row"> </th>
      <td><label> </label><div align="right">
        <input type="submit" name="button" id="button" value="Alterar" />
      </div></td>
    </tr><br />
    <br />
    
    
  </table>
</form>
<?
}
?>
<table width="954" border="0">
  <tr>
    <th width="717" align="left" bgcolor="#BBBBBB" scope="row"><strong>Nome</strong></div>
    </strong></th>
    <td width="82" align="center" bgcolor="#BBBBBB"><strong><strong>Editar</strong></td>
    <td width="83" align="center" bgcolor="#BBBBBB"><strong><strong>Remover</strong></td>
  </tr>
  <?

   $sql_visualizar = mysql_query("SELECT * FROM aprendendo ORDER BY nome");
   while($linha = mysql_fetch_array($sql_visualizar)){
   $pega_nome = $linha['nome'];
   $id = $linha['id'];

  ?>
  <tr>
  <td><? echo $pega_nome?></td>
  <td align="center"><a href="form.php?funcao=editar&id=<? echo $id ?>">EDITAR</a></td>
    <td align="center"><a href="funcao2.php?funcao=excluir&id=<? echo $id ?>">EXLUIR</a></td>
  </tr>
  <?
   }
   ?>

</table>

</body>
</html>
conexao
<?
$db = mysql_connect("localhost","root","");
$banco = mysql_select_db("tabela",$db);
?>
funcao
<?
include "conexao.php";
$nome = $_POST['nome'];
$email = $_POST['email'];
$cidade = $_POST['cidade'];
$mensagem = $_POST['mensagem'];

//**********************************************************************

if($_GET['funcao'] == "gravar"){

$sql = mysql_query("INSERT INTO aprendendo (nome,email,cidade,mensagem) value ('$nome','$email','$cidade','$mensagem')");
header('Location:form.php');
}

//**********************************************************************

if($_GET['funcao'] == "editar"){
$id = $_GET['id'];
$sql_alterar = mysql_query("UPDATE aprendendo SET nome='$nome',email='$email',cidade='$cidade',mensagem'$mensagem'id = '$id' ");
header('Location:form.php');
}
?>

aqui está o erro:

31143879.jpg

uso o programa WAMPSERVER, obrigado e agraços.

Editado por LayonOliveira
Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

i aew LayonOliveira, o $_GET['funcao'] não esta definido, adiciona o codigo abaixo depois dessa linha include "conexao.php"; pra ver o que esta vindo no get:

echo "<pre>";
print_r( $_GET );
echo "</pre>";

espero que ajude abraço!

Editado por Romerito
Link para o comentário
Compartilhar em outros sites

  • 0

<?
include "conexao.php";
echo "<pre>";
print_r( $_GET );
echo "</pre>";
if($_GET['funcao'] != "editar"){
Romerito está vindo:
Array
(
)

(e em baixo continua o erro, mudando apenas de linha)

Notice: Undefined index: funcao in C:\wamp\www\test\form.php on line 14

obrigado por responder porem o erro continua...

Editado por LayonOliveira
Link para o comentário
Compartilhar em outros sites

  • 0
tenta mudar o method do seu form de post para get!

não dá certo trocando o method post por get

outra coisa já tento colcor essa linha "funcao.php?funcao=gravar" na browser para ver se ele entrar onde você quer?

não deu, q droga, tá "tudo" certo e o bagulho n funciona :wacko:

Editado por LayonOliveira
Link para o comentário
Compartilhar em outros sites

  • 0

Vamos por partes..

Quando eu uso $_GET eu faço assim:

<?

$pagina = $_GET["editar"];

if ($pagina == "blablabla") {

echo "teste";

}

?>

O que você não pode esquecer é de botar no link ou no action do form. Exemplo:

Link:

<a href="<?=$PHP_SELF?>?editar=blablabla">Link 1</a>

Form:

<form method="post" action="<?=$PHP_SELF>?editar=blablabla">

...

</form>

Link para o comentário
Compartilhar em outros sites

  • 0
Vamos por partes..

Quando eu uso $_GET eu faço assim:

<?

$pagina = $_GET["editar"];

if ($pagina == "blablabla") {

echo "teste";

}

?>

Não deu mano, olha, será alguma conf do wampserver? porq baixei um php de cadatro perfeito, criei a tabela no mySQLmyadm e dá erro em todos os comandos "if" são os q estão falhando, será conf? se for é algo com o tal IF

alguém sabe o que está acontecendo? será q alguma configuração do WAMPSERVER? mais pensando bem, porq meu funcao.php q contem o comando $_GET funciona? será que minha pagina funcao.php tá dando conflito com minha variável funcao ("funcao.php?funcao=gravar") ???

Editado por LayonOliveira
Link para o comentário
Compartilhar em outros sites

  • 0

i aew carinha tenta mudar tudo pra request pra ver se funciona, fica mais ou menos assim:

form.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<?
include 'conexao.php';
if( $_REQUEST['funcao'] != 'editar' )
{
?>
    <form id="form1" name="form1" method="post" action="funcao.php">
        <input type="hidden" name="funcao" value="gravar" />
        <table width="305" border="0">
            <tr>
                <th width="53" scope="row">Nome:</th>
                <td width="236"><label><input name="nome" type="text" id="nome" size="40" /></label></td>
            </tr>
            <tr>
                <th scope="row">Email:</th>
                <td><label><input name="email" type="text" id="email" size="40" /></label></td>
            </tr>
            <tr>
                <th scope="row">Cidade:</th>
                <td><label><input name="cidade" type="text" id="cidade" size="40" /></label></td>
            </tr>
            <tr>
             <th scope="row">Mensagem</th>
                <td><label><textarea name="mensagem" id="mensagem" cols="45" rows="5"></textarea></label></td>
            </tr>
            <tr>
                <th height="59" scope="row"></th>
                <td><div align="right"><input type="submit" name="button" id="button" value="Cadastrar" /></div></td>
            </tr>
        </table>
        <br />
        <br />
    </form>
<?
}

if( $_REQUEST['funcao'] == 'editar' ):
    $id                     = $_REQUEST['id'];
    $sql_update  = mysql_query( "SELECT * FROM aprendendo WHERE id = '{$id}' " );
    
    $linha = mysql_fetch_array( $sql_update );
    
    $nome            = $linha['nome'         ];
    $email        = $linha['email'     ];
    $cidade        = $linha['cidade'     ];
    $mensagem = $linha['mensagem'];
    
?>
<form id="form1" name="form1" method="post" action="funcao.php">
    <input type="hidden" name="funcao" value="editar" />
    <input type="hidden" name="id" value="<? echo $id ?>" />
    <table width="305" border="0">
        <tr>
      <th width="53" scope="row">Nome:</th>
      <td width="236"><label><input name="nome" type="text" id="nome" size="40" value=<? echo $nome ?> /></label></td>
    </tr>
    <tr>
      <th scope="row">Email:</th>
      <td><label><input name="email" type="text" id="email" size="40" value=<? echo $email ?> /></label></td>
    </tr>
    <tr>
      <th scope="row">Cidade:</th>
      <td><label><input name="cidade" type="text" id="cidade" size="40"  value=<? echo $cidade ?>/></label></td>
    </tr>
    <tr>
      <th scope="row">Mensagem</th>
      <td><label><textarea name="mensagem" id="mensagem" cols="45" rows="5"><? echo $mensagem ?></textarea></label></td>
    </tr>
    <tr>
      <th height="59" scope="row"></th>
      <td><div align="right"><input type="submit" name="button" id="button" value="Alterar" /></div></td>
    </tr>
  </table>
    <br />
  <br />
</form>
<?
endif;
?>
<table width="954" border="0">
  <tr>
    <td width="717" align="left" bgcolor="#BBBBBB" scope="row"><strong>Nome</strong></td>
    <td width="82" align="center" bgcolor="#BBBBBB"><strong>Editar</strong></td>
    <td width="83" align="center" bgcolor="#BBBBBB"><strong>Remover</strong></td>
  </tr>
  <?

   $sql_visualizar = mysql_query( "SELECT * FROM aprendendo ORDER BY nome" ) or die( mysql_error() );;
   while( $linha = mysql_fetch_array( $sql_visualizar ) )
     {
         $pega_nome = $linha['nome'];
         $id                = $linha['id'  ];
  ?>
        <tr>
            <td><? echo $pega_nome ?></td>
            <td align="center"><a href="form.php?funcao=editar&id=<? echo $id ?>">EDITAR</a></td>
            <td align="center"><a href="funcao2.php?funcao=excluir&id=<? echo $id ?>">EXLUIR</a></td>
        </tr>
  <?
     }
  ?>

</table>

</body>
</html>
conexao.php
$db         = mysql_connect( "localhost" , "root" ,"" ) or die( mysql_error() );
$banco = mysql_select_db( "tabela" , $db ) or die( mysql_error() );
funcao.php
include "conexao.php";

$nome            = $_REQUEST['nome'         ];
$email        = $_REQUEST['email'     ];
$cidade        = $_REQUEST['cidade'     ];
$mensagem = $_REQUEST['mensagem'];



//**********************************************************************

if( $_REQUEST['funcao'] == 'gravar' )
{
    $sql = mysql_query( "INSERT INTO aprendendo ( nome , email , cidade , mensagem ) values ('{$nome}','{$email}','{$cidade}','{$mensagem}')" ) or die( mysql_error() );
    header( 'Location:form.php' );
}

//**********************************************************************

if( $_REQUEST['funcao'] == "editar" )
{
    $id                     = $_REQUEST['id'];
    $sql_alterar = mysql_query( "UPDATE aprendendo SET nome = '{$nome}' , email = '{$email}' , cidade = '{$cidade}' , mensagem = '{$mensagem}' , id = '{$id}' " ) or die( mysql_error() );;
    header( 'Location:form.php' );
}

qualquer coisa posta aew!

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, você já tentou instalar em um servidor PHP Online ?

meio que um que tenha MySQL

se o script funcionar lá, vai ser culpa do Wampserver...

eu também uso ele, mais, ele me mostra muitas das vezes erros absurdos, que na realidade funcionam no server online

Link para o comentário
Compartilhar em outros sites

  • 0
Cara, você já tentou instalar em um servidor PHP Online ?

meio que um que tenha MySQL

se o script funcionar lá, vai ser culpa do Wampserver...

eu também uso ele, mais, ele me mostra muitas das vezes erros absurdos, que na realidade funcionam no server online

sim amigo, veja: http://simdownload.zzl.org/form.php

Link para o comentário
Compartilhar em outros sites

  • 0
Cara, você já tentou instalar em um servidor PHP Online ?

meio que um que tenha MySQL

se o script funcionar lá, vai ser culpa do Wampserver...

eu também uso ele, mais, ele me mostra muitas das vezes erros absurdos, que na realidade funcionam no server online

sim amigo, veja: http://simdownload.zzl.org/form.php

<form id="form1" name="form1" method="post" action="funcao.php">

no method você está usanda o post

mude para get caso não funcione coloque todo o codigo e o sql para textes até mais

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...