Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
LayonOliveira

comando $_GET parece não funcionar.

Question

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.

Edited by LayonOliveira

Share this post


Link to post
Share on other sites

13 answers to this question

Recommended Posts

  • 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!

Edited by Romerito

Share this post


Link to post
Share on other 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...

Edited by LayonOliveira

Share this post


Link to post
Share on other sites
  • 0

tenta ver se ele retorna alguma coisa

com print_r($_REQUEST)

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

Share this post


Link to post
Share on other 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:

Edited by LayonOliveira

Share this post


Link to post
Share on other 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>

Share this post


Link to post
Share on other 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") ???

Edited by LayonOliveira

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  



  • Forum Statistics

    • Total Topics
      148096
    • Total Posts
      643335
×
×
  • Create New...