Ir para conteúdo

POWERED BY:

Arquivado

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

Kanzen

Formulário + PHP + MySQL

Recommended Posts

Mais uma vez venho recorrer a vocês =D

 

além de alguns errinhos no código que passaram desapercebidos por mim T.T meu formulário não sei porque não está enviando todas as variaveis que deveria

 

index.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=iso-8859-1" />
<title>Untitled Document</title>
<script type="text/javascript" src="jquery-1.3.2.min.js"> </script>
<script type="text/javascript">
      $(document).ready(function(){
         $("select[name=unidade]").change(function(){
            $("select[name=professor]").html('<option value="0">Carregando...</option>');
            $.post("cidades.php",
                  {unidade:$(this).val()},
                  function(valor){
                     $("select[name=professor]").html(valor);
                })      
	         })
    	  })
      
</script>
</head>

<body>
<table align="center" border="0" ><tr>
<form action="avaliacao.php" method="post">
<p><td> Aluno:</td><td>
<input type="text" name="nome" size="31" maxlength="50" >
</td></tr><tr><td>Turma:</td><td>
<input type="text" name="turma" size="31" maxlength="50" >
</td></p>

<p><tr><td>Unidade:</td><td><select name="unidade">
       <option value="0">Escolha uma unidade</option>
        <?php
		mysql_connect("mysql.eaplugin.org", "eaplugin14", "abc123");
		mysql_select_db("eaplugin14");
         $sql = "SELECT * FROM categoria ORDER BY unidade ASC";
         $qr = mysql_query($sql) or die(mysql_error());
         while($ln = mysql_fetch_assoc($qr)){
            echo '<option value="'.$ln['unidade'].'">'.$ln['unidade'].'</option>';
         } ?>
    </select></td></tr></p>
<p><tr><td>Professor:</td><td><select name="professor">
       <option value="0" disabled="disabled">Escolha uma unidade Primeiro</option>
    </select></td></tr></p>
<p><tr><td>Módulo:</td><td><select name="modulo">
<option value"illustrator">1 - Illustrator</option>
<option value"photoshop">2 - Photoshop</option>
<option value"indesigner">3 - InDesigner</option>
<option value"fireworsk">4 - Fireworks</option>
<option value"flash">5 - Flash</option>
<option value"dreamweaver">6 - Dreamweaver</option>
<option value"aftereffects">7 - After Effects</option>
<option value"premier">8 - Premier</option>
<option value"maya">9 - Maya</option></select></td></tr></p>
<p>
<tr><td>Nota:</td><td>
<input type="radio" name="nota" value="1"/>1
<input type="radio" name="nota" value="2"/>2
<input type="radio" name="nota" value="3"/>3
<input type="radio" name="nota" value="4"/>4
<input type="radio" name="nota" value="5"/>5
</td></tr><tr><td></td><td>
<input type="radio" name="nota" value="6"/>6
<input type="radio" name="nota" value="7"/>7
<input type="radio" name="nota" value="8"/>8
<input type="radio" name="nota" value="9"/>9
<input type="radio" name="nota" value="10"/>10</td></tr>
<tr><td>Voz do Aluno:</td></tr><tr><td></td><td><textarea name="comentario" rows="5" cols="24">Clique aqui e escreva seu comentário sobre a aula. </textarea></td></tr>
<tr><td></td><td><input type="submit" name="submit" value="Enviar"></td></tr></form>

</body>
</html>
avaliacao.php

<?php 

if(isset($_REQUEST['nome']))
{$nome=$_REQUEST['nome'];}

if(isset($_REQUEST['turma'])){
$turma=$_REQUEST['turma'];}

if(isset($_REQUEST['unidade'])){
$unidade=$_REQUEST['unidade'];}

if(isset($_REQUEST['professor']))
{$professor=$_REQUEST['professor'];}

if(isset($_REQUEST['modulo']))
{$modulo=$_REQUEST['modulo'];}

if(isset($_REQUEST['nota']))
{$nota=$_REQUEST['nota'];}

if(isset($_REQUEST['comentario']))
{$comentario=$_REQUEST['comentario'];}

$DIA = date("Y/m/d");

$nome = trim($nome);
$turma = trim($turma);
$unidade = trim($unidade);
$professor = trim($professor);
$modulo = trim($modulo);
$nota = trim($nota);
$comentario = trim($comentario);

$conec = mysql_connect('mysql.eaplugin.org', 'eaplugin14', 'abc123') or die ('Não foi possível concluir a conexão:');
mysql_select_db("eaplugin14",$conec);

$declar = "INSERT INTO aluno (`aluno`, `dia`, `modulo`, `nota`, `comentario`, `professor`, `turma`,`unidade`) values ('$nome','$DIA','$modulo','$nota','$comentario','$professor','$turma','$unidade')";
$tipo_msg = 'I';
$query = mysql_query ($declar)or die(mysql_error());
if($query) {
$ok = 1;
header ("location: exibe_mensagem.php?ok=$ok&tipo_msg=$tipo_msg");
}else {
$ok = 2;
header ("Location: exibe_mensagem.php?ok=$ok&tipo_msg=$tipo_msg");
}

mysql_close ($conec);

?>
</body>
</html>

No script estão o link e senha das DBs pois elas são temporárias e serão deletadas em breve (Y)

 

Visualização Online http://eaplugin.org/kanzen/pc/trab/

 

PS: nos errinhos que eu comentei está incluído um prolema com a acentuação nos listBox

 

Alguém pode me mostrar o caminho para consertar tudo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aconselho leitura: http://thiagobelem.net/blog/php/2009/09/07/resolvendo-o-problema-de-headers-already-sent-633/

Não encontrei os problemas de acentuação o.O

E retire os $_REQUEST e troque por $_POST, seu sistema fica mais vulneravel. Se você estiver enviando dados através de POST utilize $_POST! Lembre-se disso ;D

POis utilizando request não tem como saber qual foi o metodo de requisição do usuario, no seu sistema pode-se entrar tanto com POST ou GET.

Ou uma segunda alternativa é ver o metodo de requisição do user.

Para verificar se ele veio através de post pode-se fazer o seguinte:

$method = getenv('REQUEST_METHOD');
if ($method != 'POST'){
  exit ('Deve-se utilizar POST');
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

dei uma lida mas nao entendi direito como resolver =/

 

eu entendi que não pode ter nada antes do header mas o problema é que preciso setar aquela variavel. Fora que essa parte eu me baseei em outro script e q está da mesma forma como eu coloquei O.o

 

quanto ao $_POST, já fiz a alteração =D

 

thanks (y)

 

outra coisa que eu reparei em alguns testes aqui em casa é que o formulário não está enviando 2 variáveis (a professor e modulo) mas eu não pude ver o por que.

Compartilhar este post


Link para o post
Compartilhar em outros sites

onde ta o erro no modulo? pior q estou já a algum tempo olhando essa parte do código e não vi nada. >.<

 

e mesmo com esse outro blog explicando ainda não consegui fazer funcionar >.<

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça o seguinte. No início do seu código que recebe os valores do formulário, coloque este código, apenas para efeito de debug.

 

<?php
echo '<pre>';
print_r($_POST);
die('</pre>');

Vai imprimir todos os dados do formulário. Confira os nomes dos campos e os nomes das variáveis que você usa. Lembre-se que o PHP é case-sensitive, ou seja $nome é DIFERENTE de $Nome, que é diferente de $NOME.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Array

(

[nome] => Fulano

[turma] => tal

[unidade] => Copacabana

[professor] =>

[modulo] =>

[nota] => 7

[comentario] => Clique aqui e escreva seu coment�rio sobre a aula.

[submit] => Enviar

)

como eu tinha dito antes só o "professor" e o modulo estão sem conteúdo =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, então o problema está ou no HTML ou no JS. Vou mover para o fórum de Frameworks Javascript para o pessoal poder te ajudar.

 

Tópico Movido

PHP http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Frameworks Javascript

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade acabei de descobrir o erro na variável professor e já corrigi PORÉM a variável modulo continua sem valor agregado. =/

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.