Ir ao conteúdo
  • Cadastre-se

Ajuda Código PHP


coelho

Posts recomendados

Pessoal, estou elaborando meu projeto final que é um sistema web para help-desk bem simples feito em php.

Hoje começei a parte de programação e já estou com problemas, estou usando o EasyPHP 5.3.

Vamos ao problema.

Criei o banco de dados "chamado" com a tabela "usuario" no phpmyadmin.

Depois criei os arquivos para cadastro de usuário utilizando o PHP Editor 2.2

Quando preencho o formulário de cadastro e envio, ele não cadastra o usuário. o que está errado?

Segue o Código

<form method="POST" action="cadastrarusuario2.php">

Nome do Usuário: <br />

<input type="text" size="50" name="nome" />

<br /><br />

Matricula : <br />

<input type="text" size="20" name="matricula" />

<br /><br />

Setor: <br />

<input type="text" size="50" name="setor" />

<br /><br />

E-mail: <br />

<input type="text" size="20" name="email" />

<br /><br />

Senha: <br />

<input type="text" size="25" name="senha" />

<br /><br />

<input type="submit" value="Cadastrar Usuário" />

?>

</BODY>

</HTML>

==================================================================

<HTML>

<HEAD>

<TITLE>Cadastrar Usuário</TITLE>

</HEAD>

<BODY>

<?

$n = $_POST["nome"];

$mat = $_POST["matricula"];

$st = $_POST["setor"];

$e = $_POST["email"];

$s = $_POST ["senha"];

$conexao=mysql_connect("127.0.0.1", "root" ,);

mysql_select_db("chamado", $conexao);

$sql = "INSERT INTO usuario (nome, matricula, setor, email, senha) VALUES ('$n','$mat', $st, $e, $s)";

mysql_query($sql, $conexao);

?>

<p>Usuário cadastrado com sucesso:</p>

Nome: <? echo $n; ?> <br />

Matricula: <? echo $mat; ?> <br />

Setor: <? echo $st; ?> <br />

E-mail: <? echo $e; ?> <br />

Senha: <? echo $s?> <br />

</BODY>

</HTML>

Valeu galera

Link para o comentário
Compartilhar em outros sites

  • Moderador

$conexao=mysql_connect("127.0.0.1", "root" ,);

esta linha mude para:

$conexao=mysql_connect("127.0.0.1", "root", [COLOR="Red"]""[/COLOR]);

nesta linha:

$sql = "INSERT INTO usuario (nome, matricula, setor, email, senha) VALUES ('$n','$mat', $st, $e, $s)";

altere para:

$sql = "INSERT INTO usuario (nome, matricula, setor, email, senha) VALUES ('$n','$mat', [COLOR="Red"]'$st', '$e', '$s'[/COLOR])";

adicione o fechamento da conexao no final:

mysql_close($conexao);

e altere a tag inicial do php : <?

para:

<?php ( muitas vezes resolve)

sobre a conexao.. sugiro que sempre coloque em um arquivo separado:

conecta.php

<?php

$conexao=mysql_connect("127.0.0.1", "root", "");

mysql_select_db("chamado", $conexao);

?>

e no seu arquivo você dá um include:

include 'conecta.php';

veja se isso resolve

Link para o comentário
Compartilhar em outros sites

Fiz todas as alterações, mas o problema ainda persiste.

Não aparece nenhuma mensagem de erro, mas o "echo" do arquivo cadastrarusuario2 deveria mostrar as informações digitadas no formulário e não mostra, e também o usuário deveria ser cadastrado no banco e não está.

:(

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Altere as seguintes linhas, adicionando o que está em vermelho:

$conexao=mysql_connect("127.0.0.1", "root", "") [COLOR="Red"][B]or die(mysql_error())[/B][/COLOR];

mysql_select_db("chamado", $conexao) [COLOR="red"][B]or die(mysql_error());[/B][/COLOR]

$sql = "INSERT INTO usuario (nome, matricula, setor, email, senha) VALUES ('$n','$mat', $st, $e, $s)";
mysql_query($sql, $conexao) [COLOR="red"][B]or die(mysql_error());[/B][/COLOR]
?>

Rode o script e veja se deu algum erro..

Se ainda assim não aparecer nenhuma mensagem de erro e nenhum echo for mostrado no arquivo cadastrarusuario2.php você cometeu algum erro de digitação/na hora de salvar o arquivo ao linkar o formulário ao script (action).

Link para o comentário
Compartilhar em outros sites

Galera

Agora está funcionando!! cadastrando no banco e tudo mais.

Vou pertubar vocês um pouco mais.. meu projeto está em fase de desenvolvimento e sou péssimo em php.

a minha dúvida agora é a seguinte, vou tentar explicar.

Digamos que eu queria criar um formulário para cadastro de computadores, e nesse formulário terão as seguintes informações a serem inseridas;

Número do micro (Número de identificação da máquina).

programas (programas que estarão instalados na máquina cadastrada).

Nome do usuário (nome do usuário que estará usando a máquina).

Status (status da máquina: Em uso, Desativada..etc).

como eu faria em php para aparecer nesse formulário na hora de cadastrar o micro, todos os programas que estão cadastrados no banco e todos os usuários.. conseguiram entender ?

eu quero que na hora de cadastrar uma nova máquina ter uma lista de programas ja cadastrados e dos usuários, bastando apenas seleciona-los e cadastrar a máquina.

obrigado pessoal

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Faça um loop:


<select name="software">
<option selected>Selecione</option>
<?php

$query = mysql_query("SELECT * FROM programas");
if (mysql_num_rows($query)){
while($software = mysql_fetch_assoc($query)){
echo "<option value=\"{$software['id']}\">{$software['nome']}</option>";
}
}
?>
</select>

Link para o comentário
Compartilhar em outros sites

Lucas

no caso o formulário ficaria assim ?

<HTML>

<HEAD>

<TITLE>Cadastrar Computador</TITLE>

</HEAD>

<BODY>

<h2>Cadastrar Computador</h2>

<form method="POST" action="cadastrarcomputador2.php">

<?

Número da máquina: <br />

<input type="text" size="50" name="num" />

<br /><br />

Status : <br />

<input type="text" size="20" name="status" />

<br /><br />

Software:

<select name="software">

<option selected>Selecione</option>

$query = mysql_query("SELECT * FROM software");

if (mysql_num_rows($query)){

while($software = mysql_fetch_assoc($query)){

echo "<option value=\"{$software['id']}\">{$software['nome']}</option>";

}

}

</select>

<br /><br />

<input type="submit" value="Cadastrar Computador" />

?>

</BODY>

</HTML>

eu testei aqui e realmente é do jeito que eu preciso, só que os programas cadastrados no banco não estão aparecendo para eu selecionar ai.

no caso posso fazer da mesma forma para inserir o usuário também ?

Link para o comentário
Compartilhar em outros sites

  • Moderador

nao estou compreendendo muito seu codigo.. o html esta dentro do php?

ao meu ver é ao contrario... o formulario fora do php.. e dentro do select você abre a tag <?php

<HTML>
<HEAD>
<TITLE>Cadastrar Computador</TITLE>
</HEAD>
<BODY>

<h2>Cadastrar Computador</h2>
<form method="POST" action="cadastrarcomputador2.php">

Número da máquina: <br />
<input type="text" size="50" name="num" />
<br /><br />

Status : <br />
<input type="text" size="20" name="status" />
<br /><br />

Software:
<select name="software">
<option selected>Selecione</option>
[COLOR="Red"]<?php
include 'conexao.php';
$query = mysql_query("SELECT * FROM software");
if (mysql_num_rows($query)){
while($software = mysql_fetch_assoc($query)){
echo "<option value=\"{$software['id']}\">{$software['nome']}</option>";
}
}
?>[/COLOR]
</select>
<br /><br />
<input type="submit" value="Cadastrar Computador" />
</form>

</BODY>
</HTML>

você também nao fechou a tag form.

nao esqueça que tags do html dentro do php devem estar dentro de um echo " "; ou atribuida a uma variavel. e dai dar um echo $variavel;

nao esqueça também que você tem que abrir a conexao com o BD dentro do select.

você cria um arquivo conexao.php:

<?php 
$conecta = mysql_connect("127.0.0.1", "root", "");
mysql_select_db("nomeBanco", $conecta);
?>

Link para o comentário
Compartilhar em outros sites

pois é.. erro meu ..

vou ajustar aqui e vejo o que vai acontecer

Galera fiz algumas modificações no código, o formulário está aparecendo certinho, porém ainda nao consigo visualizar os programas cadastrados no banco dentro do formulario de cadastro de computadores.

Ainda não consegui identificar o erro, preciso de ajuda novamente, segue o código.

Cadastrarcomputador1

<HTML>
<HEAD>
<TITLE>Cadastrar Computador</TITLE>
</HEAD>
<BODY>

<h2>Cadastrar Computador</h2>
<form method="POST" action="cadastrarcomputador2.php">


Número da máquina: <br />
<input type="text" size="50" name="num" />
<br /><br />

Status : <br />
<input type="text" size="20" name="status" />
<br /><br />

Software:
<select name="software">
<option selected>Selecione</option>
<?php
$query = mysql_query("SELECT * FROM software");
if (mysql_num_rows($query)){
while($software = mysql_fetch_assoc($query)){
echo "<option value=\"{$software['nomesoftware']}\">{$software['nome']}</option>";
}
}
?>
</select>

<br /><br />

Usuário:
<input type="text" size= "50" name="nome" />

<br /> <br />

<input type="submit" value="Cadastrar Computador" />



</BODY>
</HTML>
======================================================================================
Cadastrarcomputador2

<HTML>
<HEAD>
<TITLE>Cadastrar Computador</TITLE>
</HEAD>
<BODY>
<?php
$n = $_POST["nun"];
$so = $_POST["software"];
$us = $_POST["nome"];
$s = $_POST ["status"];
$conexao=mysql_connect("127.0.0.1", "root" ,"");
mysql_select_db("chamado", $conexao);

$sql = "INSERT INTO computador (micron, nomesoftware, nome, status, ) VALUES ('$n','$so', '$us','$s')";
mysql_query($sql, $conexao);
?>

<p>Computador cadastrado com sucesso:</p>

Número da máquina: <?php echo $nun; ?> <br />
Status: <?php echo $s; ?> <br />
Software: <?php echo $so; ?> <br />
Usuário: <?php echo $us; ?> <br />

?>

<p>Computador cadastrado com sucesso:</p>

</BODY>
</HTML>

Valeu galera a ajuda de vocês está ajudando e muito no meu trabalho de conclusão de curso agradeço de verdade!!

Link para o comentário
Compartilhar em outros sites

  • Moderador

amigo, veja meu post #11 ali em cima. te falei que tens que colocar uma conexao com o banco tambem. te aconselho a criar um arquivo chamado conexao.php e colocar o mysql_connect e o mysql_select_db.

da uma olhada ali em cima.

dentro do php ali no seu formulario você coloca: include 'conexao.php';

é obrigatorio se você quiser puxar as informaçoes para dentro do select.

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...