Ir para conteúdo

POWERED BY:

Arquivado

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

Gerard

Form Php + MySql

Recommended Posts

Gente, eu sou muito novo em MySql, e manjo PHP há um tempo, suficiente para me interessar na interação deste com o MySql http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

Como muita gente por aí, o meu primeiro código teste foi um form básico que joga as informações num banco de dados qualquer..

 

Eu já li muito tutorial, mas acho que nada bate a prática para tratar eventuais erros...

 

Bom, eu peguei pronto, pra testar se eu tava sabendo manipular tabelas, uma página em HTML, entitulada

 

Cadastro.html

 

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>CADASTRO DE CLIENTES COM BANCO DE DADOS E PHP</title>
<style type="text/css">
<!--
.style1 {
	color: #FF0000;
	font-size: x-small;
}
.style3 {color: #0000FF; font-size: x-small; }
-->
</style>
<!--
						########## • Créditos • #############
						#									#
						#	Autor: Wesley C. Nascimento		#
						#	Email: wesley_zeus@yahoo.com.br	#
						#									#
						#	Nome do script:FormularioCliente#
						#	Bonus: validaCampo				#
						#									#
						#	Favor não retire os créditos	#
						#									#
						#####################################

-->
<script type="text/javascript">
function validaCampo()
{
if(document.cadastro.nome.value=="")
	{
	alert("O Campo nome é obrigatório!");
	return false;
	}
else
	if(document.cadastro.email.value=="")
	{
	alert("O Campo email é obrigatório!");


	return false;
	}
else
	if(document.cadastro.endereco.value=="")
	{
	alert("O Campo endereço é obrigatório!");
	return false;
	}
else
	if(document.cadastro.cidade.value=="")
	{
	alert("O Campo Cidade é obrigatório!");
	return false;
	}
else
	if(document.cadastro.estado.value=="")
	{
	alert("O Campo Estado é obrigatório!");
	return false;
	}
else
	if(document.cadastro.bairro.value=="")
	{
	alert("O Campo Bairro é obrigatório!");
	return false;
	}
else
	if(document.cadastro.pais.value=="")
	{
	alert("O Campo país é obrigatório!");
	return false;
	}
else
	if(document.cadastro.login.value=="")
	{
	alert("O Campo Login é obrigatório!");
	return false;
	}
else	
if(document.cadastro.senha.value=="")
	{
	alert("Digite uma senha!");
	return false;
	}
else
return true;
}
<!-- Fim do JavaScript que validará os campos obrigatórios! -->
</script>
</head>

<body>
<form id="cadastro" name="cadastro" method="post" action="cadastro.php" onsubmit="return validaCampo(); return false;">
  <table width="625" border="0">
	<tr>
	  <td width="69">Nome:</td>
	  <td width="546"><input name="nome" type="text" id="nome" size="70" maxlength="60" />
		<span class="style1">*</span></td>
	</tr>
	<tr>
	  <td>Email:</td>
	  <td><input name="email" type="text" id="email" size="70" maxlength="60" />
	  <span class="style1">*</span></td>
	</tr>
	<tr>
	  <td>Sexo:</td>
	  <td><input name="sexo" type="radio" value="Masculino" checked="checked" />
		Masculino 
		<input name="sexo" type="radio" value="Feminino" />
		Feminino <span class="style1">*</span> </td>
	</tr>
	<tr>
	  <td>DDD:</td>
	  <td><input name="ddd" type="text" id="ddd" size="4" maxlength="2" />
	  Telefone:
		<input name="telefone" type="text" id="telefone" />
		<span class="style3">Apenas números</span> </td>
	</tr>
	<tr>
	  <td>Endereço:</td>
	  <td><input name="endereco" type="text" id="endereco" size="70" maxlength="70" />
		<span class="style1">*</span></td>
	</tr>
	<tr>
	  <td>Cidade:</td>
	  <td><input name="cidade" type="text" id="cidade" maxlength="20" />
		<span class="style1">*</span></td>
	</tr>
	<tr>
	  <td>Estado:</td>
	  <td><select name="estado" id="estado">
		<option>Selecione...</option>
		<option value="AC">AC</option>
		<option value="AL">AL</option>
		<option value="AP">AP</option>
		<option value="AM">AM</option>
		<option value="BA">BA</option>
		<option value="CE">CE</option>
		<option value="ES">ES</option>
		<option value="DF">DF</option>
		<option value="MA">MA</option>
		<option value="MT">MT</option>
		<option value="MS">MS</option>
		<option value="MG">MG</option>
		<option value="PA">PA</option>
		<option value="PB">PB</option>
		<option value="PR">PR</option>
		<option value="PE">PE</option>
		<option value="PI">PI</option>
		<option value="RJ">RJ</option>
		<option value="RN">RN</option>
		<option value="RS">RS</option>
		<option value="RO">RO</option>
		<option value="RR">RR</option>
		<option value="SC">SC</option>
		<option value="SP">SP</option>
		<option value="SE">SE</option>
		<option value="TO">TO</option>
		  </select>
		<span class="style1">*	  </span></td>
	</tr>
	<tr>
	  <td>Bairro:</td>
	  <td><input name="bairro" type="text" id="bairro" maxlength="20" />
		<span class="style1">*</span></td>
	</tr>
	<tr>
	  <td>País:</td>
	  <td><input name="pais" type="text" id="pais" maxlength="20" />
		<span class="style1">*</span></td>
	</tr>
	<tr>
	  <td>Login:</td>
	  <td><input name="login" type="text" id="login" maxlength="12" />
		<span class="style1">*</span></td>
	</tr>
	<tr>
	  <td>Senha:</td>
	  <td><input name="senha" type="password" id="senha" maxlength="12" />
		  <span class="style1">*</span></td>
	</tr>
	<tr>
	  <td colspan="2"><input name="news" type="checkbox" id="news" value="ATIVO" checked="checked" />
Desejo receber novidades e informações sobre o conteúdo deste site. </td>
	</tr>
	<tr>
	  <td colspan="2"><p>
		<input name="cadastrar" type="submit" id="cadastrar" value="Concluir meu Cadastro!" /> 
		<br />
		  <input name="limpar" type="reset" id="limpar" value="Limpar Campos preenchidos!" />
		  <br />
		  <span class="style1">* Campos com * são obrigatórios!		  </span></p>
	  <p>  </p></td>
	</tr>
  </table>
</form>
</body>
</html>

Bom, isso daí é muito trivial...agora vamos partir para a cadastro.php, que recebeu, em modo post, os dados do meu formulário

 

Cadastro.php

<html xmlns="http://www.w3.org/1999/xhtml">
<body>

<?php 
// RECEBENDO OS DADOS PREENCHIDOS DO FORMULÁRIO !
$nome	= $_POST ["nome"];	//atribuição do campo "nome" vindo do formulário para variavel	
$email	= $_POST ["email"];	//atribuição do campo "email" vindo do formulário para variavel
$ddd	= $_POST ["ddd"];	//atribuição do campo "ddd" vindo do formulário para variavel
$tel	= $_POST ["telefone"];	//atribuição do campo "telefone" vindo do formulário para variavel
$endereco	= $_POST ["endereco"];	//atribuição do campo "endereco" vindo do formulário para variavel
$cidade	= $_POST ["cidade"];	//atribuição do campo "cidade" vindo do formulário para variavel
$estado	= $_POST ["estado"];	//atribuição do campo "estado" vindo do formulário para variavel
$bairro = $_POST ["bairro"];	//atribuição do campo "bairro" vindo do formulário para variavel
$pais	= $_POST ["pais"];	//atribuição do campo "pais" vindo do formulário para variavel
$login	= $_POST ["login"];	//atribuição do campo "login" vindo do formulário para variavel
$senha	= $_POST ["senha"];	//atribuição do campo "senha" vindo do formulário para variavel
$news	= $_POST ["news"];	//atribuição do campo "news" vindo do formulário para variavel
$sexo	= $_POST ["sexo"];	//atribuição do campo "sexo" vindo do formulário para variavel
//Gravando no banco de dados !

[b]//conectando com o localhost - mysql[/b]
$conexao = mysql_connect("localhost","root");
if (!$conexao)
	die ("Erro de conexão com localhost, o seguinte erro ocorreu -> ".mysql_error());
//conectando com a tabela do banco de dados
$banco = mysql_select_db("clientes",$conexao);
if (!$banco)
	die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error());



$query = "INSERT INTO `clientes` ( `nome` , `email` , `sexo` , `ddd` , `telefone` , `endereço` , `cidade` , `estado` , `bairro` , `país` , `login` , `senha` , `news` , `id` ) 
VALUES ('$nome', '$email', '$sexo', '$ddd', '$tel', '$endereco', '$cidade', '$estado', '$bairro', '$pais', '$login', '$senha', '$news', '')";

mysql_query($query,$conexao);

echo "Seu cadastro foi realizado com sucesso!<br>Agradecemos a atenção.";
?> 
</body>
</html>

Bom, ela vai capturar as strings dos campos do form, tentar uma conexão com o meu banco de dados, e , em seguida, enviar para o bd.

 

Então, o arquivo sql para criação da tabela está aki:

 

Clientes.SQL

comando SQL: 
CREATE TABLE `clientes` (
`nome` VARCHAR( 60 ) NOT NULL ,
`email` VARCHAR( 60 ) NOT NULL ,
`sexo` VARCHAR( 10 ) NOT NULL ,
`ddd` INT( 2 ) ,
`telefone` INT( 8 ) ,
`endereço` VARCHAR( 70 ) NOT NULL ,
`cidade` VARCHAR( 20 ) NOT NULL ,
`estado` VARCHAR( 2 ) NOT NULL ,
`bairro` VARCHAR( 20 ) NOT NULL ,
`país` VARCHAR( 20 ) NOT NULL ,
`login` VARCHAR( 12 ) NOT NULL ,
`senha` VARCHAR( 12 ) NOT NULL ,
`news` VARCHAR( 8 ) ,
`id` INT( 200 ) AUTO_INCREMENT ,
UNIQUE (
`id` 
)
);

 

Fui testar num server qualquer da web, que oferece suporte a PHP+MySql como o (000webhost.com), e descobri que, mesmo lendo sobre o assunto, sou um zero a esquerda!! haha

Primeiro:

em, $conexao = mysql_connect("localhost","root"); ....para o server remoto aqui de casa, beleza...mas, e para o servidor do site? que tem user, senha, etc??

 

Segundo, porque diabos clientes.SQL começa com a frase:

comando SQL:

 

Terceiro: eu tenho que criar, manualmente, no meu bd central, a tabela "clientes", para o form a modificar, ou o form a cria automaticamente??

 

Desde já, obrigado pela paciencia e cooperação! Queria salientar que o form não tem fins lucrativos para minha pessoa, eu só quero aprender!!

 

 

Abraços!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o "clientes.SQL", é um arquivo para você poder IMPORTAR qndo estiver no banco.

Esse arquivo vai criar a estrutura do banco para você.

 

Sim, você precisa ter senha e user para o banco de dados no site.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah sim!! Entendi, então essa é a file do import!

 

Mas a respeito da senha/user, a questão é: aonde colocar isso? uma vez que no "conexao" o autor coloca apenas localhost e root?

 

outra pergunta, é preciso criar algo a mais para poder estabelecer uma conexão com o bd ou isso basta?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se fui compreendido...tipo: seria só modificar o código:

 

 

//conectando com o localhost - mysql

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

if (!$conexao)

die ("Erro de conexão com localhost, o seguinte erro ocorreu -> ".mysql_error());

//conectando com a tabela do banco de dados

$banco = mysql_select_db("clientes",$conexao);

if (!$banco)

die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error());

 

 

 

Localhost seria o endereço da minha DB , isso eu não sei modificar, aonde eu verifico esse endereço??

Root seria o nome do usuer, de acordo com o site aki

Aí eu acrescentaria mais uma virgula, colocando a senha...

 

Olha só, funçando a database do server, no titulo tem isso:

 

Server: localhost - Database: a3888502_12

 

A senha e o user serim os que eu uso pra dar login na database?

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Erro de conexão com localhost, o seguinte erro ocorreu -> Access denied for user 'a3888502_1'@'localhost' (using password: YES)

 

/home/a3888502/public_html/cadastro.php on line 27

 

 

Linha 27 do cadastro.php é exatamente a linha que estabelece a conexão com o bd

Compartilhar este post


Link para o post
Compartilhar em outros sites

$conexao = mysql_connect("localhost","root","senha");

 

Está faltando parâmetros ai, o terceiro é a senha. Te negou o acesso, pq você não colocou. E o banco tem senha.

O host te informa.. mas geralmente, eles te deixam trabalhar como "localhost" mesmo. Verifique na tua hospedagem.. se não, você tem que informar o IP de onde está o teu banco de dados.

 

A senha e o user serim os que eu uso pra dar login na database?

Sim.

Melhor seria postar no forum de php.

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.