Connect Database with HTML [closed]

-2

How do I connect to my database with html?

HTML CODE

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>CADASTRO DE CLIENTES COM BANCO DE DADOS E PHP</title>
<style type="text/css">
<!--
.style1 {
color: #FF0000;
font-size: x-small;
}
.style3 {color:#7678ff; font-size: x-small; }
</style>
<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;
}
var password = document.getElementById("password")
  , confirm_password = document.getElementById("confirm_password");

function validatePassword(){
  if(password.value != confirm_password.value) {
    confirm_password.setCustomValidity("Senhas diferentes!");
  } else {
    confirm_password.setCustomValidity('');
  }
}

password.onchange = validatePassword;
confirm_password.onkeyup = validatePassword;

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>CPF:</td>
      <td><input name="cpf" type="text" id="cpf" size="70" maxlength="60" />
      <span class="style1">*</span></td>
        </tr>
    <tr>
      <td>RG:</td>
      <td><input name="rg" type="text" id="rg" 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>Telefone</td>
      <td>

        <input name="telefone" type="text" id="telefone" 
       size ="70" maxlength="60"/>
        <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>

    </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!" />


          <input name="limpar" type="reset" id="limpar" value="Limpar Campos preenchidos!" />


          <span class="style1">* Campos com * são obrigatórios!          </span></p>
      <p>  </p></td>
    </tr>
  </table>
</form>
</body>
</html>

PHP CODE

<title>Cadastro realizado com sucesso!</title>
</head>
<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
$cpf= $_POST ["cpf"];//atribuição do campo "cpf" vindo do formulário para variavel
$rg= $_POST ["rg"];//atribuição do campo "rg" 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
$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 ! conectando com o localhost - mysql
$conexao = mysql_connect("localhost","root"); //localhost é onde esta o banco de dados.
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); //nome da tabela que deseja que seja inserida os dados cadastrais
if (!$banco)
die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error());


//Query que realiza a inserção dos dados no banco de dados na tabela indicada acima
$query = "INSERT INTO 'clientes' ( 'nome' , 'email' ,'cpf','rg','sexo','telefone' , 'endereço' , 'cidade' , 'estado' , 'bairro' , 'país' , 'senha' , 'news' , 'id' ) 
VALUES ('$nome', '$email','$cpf','$rg','$sexo','$tel', '$endereco', '$cidade', '$estado', '$bairro', '$pais','$senha', '$news', '')";
mysql_query($query,$conexao);
########## • Explicação da query • ##########
#$query = nome da variavel que decidi#
#utilizar para realizar a operação.#
#############################################
#clientes = nome da tabela que será salvo#
#os dados do cadastro do cliente#
#############################################
#nome, email,cpf,rg, sexo, telefone,#
#endereço, cidade, estado, bairro, país,#
#senha, news, id.#
##
#São apenas os nomes dos campos que #
#constam na tabela clientes.#
#############################
#VALUES = indica que serão inseridos os#
#seguintes valores.#
#############################################
#$nome, $email,$cpf,$rg,$sexo,$telefone,#
#$endereço, $cidade, $estado, $bairro, #
#$país,$senha, $news, $id.#
#############################
#São apenas as variaveis a qual eu#
#atribui os valores digitados no formulá-#
#rio.#
#############################################
echo "Seu cadastro foi realizado com sucesso!Agradecemos a atenção.";
//mensagem que é escrita quando os dados são inseridos normalmente.
mysqli_close($conexao,$query);
?> 
</body>
</html>

MYSQL CODE

CREATE TABLE 'clientes' (
'nome' VARCHAR( 60 ) NOT NULL ,
'email' VARCHAR( 60 ) NOT NULL ,
'cpf' VARCHAR( 60 ) NOT NULL ,
'rg' VARCHAR( 60 ) NOT NULL ,
'telefone' VARCHAR( 60 ) ,
'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' 
)
);

Localhost Error

  

Notice: Undefined index: name in C: \ xampp \ phpMyAdmin \ index.php on line   10

     

Notice: Undefined index: email in C: \ xampp \ phpMyAdmin \ index.php on   line 11

     

Notice: Undefined index: cpf in C: \ xampp \ phpMyAdmin \ index.php on line   12

     

Notice: Undefined index: rg in C: \ xampp \ phpMyAdmin \ index.php on line   13

     

Notice: Undefined index: sex in C: \ xampp \ phpMyAdmin \ index.php on line   14

     

Notice: Undefined index: phone in C: \ xampp \ phpMyAdmin \ index.php on   line 15

     

Notice: Undefined index: address in C: \ xampp \ phpMyAdmin \ index.php on   line 16

     

Notice: Undefined index: city in C: \ xampp \ phpMyAdmin \ index.php on   line 17

     

Notice: Undefined index: state in C: \ xampp \ phpMyAdmin \ index.php on   line 18

     

Notice: Undefined index: neighborhood in C: \ xampp \ phpMyAdmin \ index.php on   line 19

     

Notice: Undefined index: country in C: \ xampp \ phpMyAdmin \ index.php on line   20

     

Notice: Undefined index: password in C: \ xampp \ phpMyAdmin \ index.php on   line 21

     

Notice: Undefined index: news in C: \ xampp \ phpMyAdmin \ index.php on line   22

     

Warning: mysqli :: __ construct () expects at most 6 parameters, 13 given   in C: \ xampp \ phpMyAdmin \ index.php on line 25

     

Fatal error: Uncaught Error: Call to undefined function   mysql_connect () in C: \ xampp \ phpMyAdmin \ index.php: 26 Stack trace: # 0   {main} thrown in C: \ xampp \ phpMyAdmin \ index.php on line 26

    
asked by anonymous 26.06.2018 / 17:49

1 answer

1

Hello. Your first problem is understanding the architecture of a Web application.

In your HTML you point the form's action to an (action="cadastro.php") file, but seeing the generated errors you notice that you are trying to process the index.php file . In this way, we try to access variables in the header ($ _POST) that do not exist. See the error:

  

Notice: Undefined index: name in C: \ xampp \ phpMyAdmin \ index.php on line   10

Basically: the index name is undefined in line 10 of index.php.

You must process the cadastro.php file after the HTML page form has been submitted (submitted). By doing this, these errors will disappear.

Another problem is with the connection to the DB. See the error presented:

  

Warning: mysqli :: __ construct () expects at most 6 parameters, 13 given in C: \ xampp \ phpMyAdmin \ index.php on line 25

This connection is wrong. I recommend using PDO, because it is native:

$conn = new PDO(
    'mysql:host=localhost;dbname=clientes', 'root', 'senha'
);

This ensures a connection to the Database. When using PDO, you better change the way you handle MySQL transactions. Use Prepared Statement:

$stmt = $conn->prepare(
'INSERT INTO posts (title, content) VALUES (:title, :content)');
$title = 'Titulo do post';
$content = 'Conteudo do post';

$stmt->bindValue(':title', $title);
$stmt->bindValue(':content', $content);
$stmt->execute();
    
26.06.2018 / 21:08