Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eai galera do iMasters, estou com um pequeno problema de enviar os dados de um formulário que eu criei pro banco de dados, vou deixar o código abaixo.
Meu erro é que quando clico nos botões "Limpar" "Enviar" ele não realiza as funções :s e queria saber como soluciono.
<fieldset>
<legend class="legenda">Envie seu pedido abaixo<br/>
</legend>
<br/>
<div class="formulario">
<label id="nome">Nome:
<input name="nome" type="text" class="nome" size="80" namaxlength="80" />
</label><br/><br/>
<label id="email">E-mail:
<input name="email" type="email" class="email" size="80" maxlength="80" />
</label><br/><br/>
<label for="subject" class="assunto">Assunto:
</label>
<select name="assunto" id="txtsubject">
<option disabled="disabled" selected="selected"> -- Selecione o assunto do pedido </option>
<option value="Pedido Músical"> -- Música</option>
<option value="Duvidas"> -- Dúvida</option>
<option value="Parcerias"> -- Parceria</option>
<option value="Problemas"> -- Problema</option>
<option value="Publicidades"> -- Publicidade</option>
<option value="Critícas"> -- Crítica</option>
<option value="Sugestoes"> -- Sugestõe</option>
</select>
<label for="message">
<br/>
<br/>
<span class="mensagem">Mensagem:</span> </label>
<textarea name="mensagem" cols="80" rows="10" class="mensagem"></textarea>
<br/>
<br/>
<input type="reset" name="clear" class="limpar" value="Limpar campos">
</label>
<input type="submit" class="enviar" value="Enviar"/>
</label>
<br/>
</div>
</form>
</fieldset>
<?php
include "configuração.php";
$erro=1;
if (isset($_POST['nome'])) {
$erro=1;
if ($_POST['nome']){
if (!empty($_POST['nome'])) {
$nome = $_POST["nome"];
$erro=0;
}
else{
$nome = "Você deve preencher seu nome";
$erro = 1;
}
}
$erro=1;
if (isset($_POST['email'])) {
$erro=1;
if ($_POST['email']){
if (!empty($_POST['email'])) {
$email = $_POST["email"];
$erro=0;
}
else{
$email = "Você deve preencher seu email";
$erro = 1;
}
}
}
if (isset($_POST['assunto'])) {
$erro=1;
if ($_POST['assunto']){
if (!empty($_POST['assunto'])) {
$assunto= $_POST["assunto"];
$erro=0;
}
else{
$assunto= "Você deve preencher com a assunto do pedido";
$erro = 1;
}
}
}
if (isset($_POST['mensagem'])) {
$erro=1;
if ($_POST['mensagem']){
if (!empty($_POST['mensagem'])) {
$mensagem = $_POST["mensagem"];
$erro=0;
}
else{
$mensagem = "Você deve preencher com a mensagem do pedido";
$erro = 1;
}
}
}
}
?>
<?php
if ($erro !=1) {
$insere = "INSERT INTO pedidos (id_pedido, nome, email, assunto, mensagem) VALUES('', '$nome','$email','$assunto','$mensagem')";
$sql = mysql_query($insere);
if (!mysql_error()) {
echo "O cadastro foi realizado com sucesso.";
}
else {
echo "Erro ao inserir os dados..." . mysql_error();
}
}
?>
Desde já, grato!
Verdade!
Além de faltar a tag <form> e o atributo action acredito que essa include não seja o melhor caminho para a validação do seu formulário.
Acho que esse tópico devia ser movido para a área de PHP.
Colocar o form como o amigo disse acime já resolve a questão do submit
A validação está muito complexa realmente, aconselho utilizar um switch
<?php
switch(true) {
case (empty($nome)):
echo "<script>alert('O produto deve conter um nome');</script>";
echo "<script>history.go(-1);</script>";
break;echo "<script>alert('O produto deve conter um classe');</script>";
echo "<script>history.go(-1);</script>";
break;echo "<script>alert('O produto deve conter um fornecedor');</script>";
echo "<script>history.go(-1);</script>";
break;echo "<script>alert('O produto deve conter um custo para empresa');</script>";
echo "<script>history.go(-1);</script>";
break;echo "<script>alert('O produto deve conter um preço');</script>";
echo "<script>history.go(-1);</script>";
break;echo "<script>alert('O produto tem que conter um tipo de unidade');</script>";
echo "<script>history.go(-1);</script>";
break;echo "<script>alert('O produto deve conter uma descrição');</script>";
echo "<script>history.go(-1);</script>";
break;//Só entra aqui se passar em todas essas exigências
break;
default:
//Aqui ele entra se nenhum dos casos acima estiver correto, aqui é o else
break;
}
?>
Switch é a melhor forma de validar algo
Aonde você abriu a tag form?