Mysql, PHP and HTML communication

Asked

Viewed 491 times

-1

Good evening guys, I had already talked about this, but it seems like you’re not getting what I mean, so I’m going to go ahead and explain: As far as I’m concerned, I did everything right, in my case I’m using XAMP, that is, most of it is configured automatically, even so, in the end, when trying to run it does not bring me the expected result, it brings me in html, in the browser, a mysql communication error, I will pass my scripts:

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` 
)
);

PHP SCRIPT:

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

//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());



$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>

HTML:

<!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>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: Rodrigo Ramos e Taitsonn #
                        #                                   #
                        #   Nome do script:FormularioCliente#
                        #   Bonus: validaCampo              #
                        #                                   #
                        #                                   #
                        #####################################

-->
<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&uacute;meros</span> </td>
    </tr>
    <tr>
      <td>Endere&ccedil;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&iacute;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&ccedil;&otilde;es sobre o conte&uacute;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&atilde;o obrigat&oacute;rios!          </span></p>
      <p>&nbsp; </p></td>
    </tr>
  </table>
</form>
</body>
</html>

I try to record and in the browser appears only this:

".mysql_error()); //connecting to the database table $database = mysql_select_db("clients",$connected); if (!$database) die ("Database connection error, the following error occurred -> ". mysql_error()); $query = "INSERT INTO clientes ( nome , email , sexo , ddd , telefone , endereço , cidade , estado , bairro , país , login , senha , news , id ) VALUES ('$name', '$email', '$sex', '$ddd', '$tel', '$address', '$city', '$state', '$neighborhood', '$parents', '$login', '$password', '$news', ''')"; mysql_query($query,$connection); echo "Your registration was successfully completed! Thank you for your attention."; ?>

  • The name of the bank is equal to the table name?

  • https://answall.com/questions/62722/c%C3%B3digo-php-opens-browser

  • The name of your database has is clientes?

  • Just to remind you, the functions mysql_ are obsolete and were removed in php version 7

1 answer

0

Try to organize your code better, and whenever possible separate the HTML of PHP.

Your problem for what you understand is focused on the connection to the database, I suggest making the following improvements to your code and testing:

PHP SCRIPT (save as script.php):

<?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

    //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());
    } else {
        //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());
        } else {
            $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.";
        }
    }
?>

Modifications:

  • Inform that the connection password is white, for the root user (just precaution).
  • Under the conditions if, use the keys {} and parole else, to determine what happens in each situation. Yes to function die(), ends script execution after reporting a message, but it doesn’t seem to be that which is incorrect.

SCRIPT HTML (save as index.php or the name you want to receive the request):

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

<body>
<?php
    include_once("script.php");
?>
</body>
</html>

This may not solve your problem, but it will definitely help you see better what is happening. Let us know if you solve.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.