conexão php/myphpadmin(banco de dados)
05/10/2019
0
Não estou conseguindo efetuar a conexão da página com o banco de dados, apesar de não apresentar erro, a conexão é inexistente. E o cadastro do ingrediente não é efetuado. Conclui que o problema não é no banco de dados, então acredito que seja do código. Boa noite, obrigado pela atenção.
Arquivo (ingrediente.php)
<?php
session_start();
?>
<!DOCTYPE html>
<html lang= "pt-bt">
<head>
<meta charset= "utf-8">
<title>Cadastro</title>
</head>
<link href="http://127.0.0.1/edsa-edsa-bananinhas%20receitas/ingredientes/ingrediente.css" rel="Stylesheet" type="text/css">
<body>
<?php
if(isset($_SESSION['msg'])){
echo $_SESSION['msg'];
unset($_SESSION['msg']);
}
?>
<div class="container">
<form id="contact" action="processa.php" method="post">
<h3>Cadastro de Ingrediente</h3>
<input type="text" name="Nome" placeholder="Nome do Ingrediente" required="required">
<button type="submit" id="cadastrar">Cadastrar</button>
</form>
</div>
</body>
</html>
arquivo (conexão.php)
<?php
function cadastro($Nome) {
$connection = mysqli_connect("localhost", "root", "", "bananasql");
// Check connection
if($connection === false){
die("Deu ruim mano!" . mysqli_connect_error());
}
$result = mysqli_query($connection, $sql);
$erro = "";
if (mysqli_num_rows($result) > 0) {
return false;
}
$sql = "INSERT INTO ingredientes (Nome) VALUES
('$Nome')";
if(!mysqli_query($connection, $sql)){
die("Deu ruim no cadastro $sql. " . mysqli_error($connection));
}
mysqli_close($connection);
return true;
}
?>
arquivo (processa.php)
<?php
require "conexao.php";
session_start();
$Nome = $_POST["Nome"];
$result_ingredientes = "INSERT INTO ingredientes (nome) VALUES ('$nome')";
$resultado_ingredientes = mysqli_query($connection,$result_ingredientes);
if(mysqli_insert_id($connection)){
$_SESSION['msg'] = "ingrediente cadastrado com sucesso";
header("location:ingrediente.php");
} else{
$_SESSION['msg']="<p style= 'color:black;'>ingrediente não foi cadastrado com sucesso</p>";
header("location:ingrediente.php");
}
?>
Arquivo (ingrediente.php)
<?php
session_start();
?>
<!DOCTYPE html>
<html lang= "pt-bt">
<head>
<meta charset= "utf-8">
<title>Cadastro</title>
</head>
<link href="http://127.0.0.1/edsa-edsa-bananinhas%20receitas/ingredientes/ingrediente.css" rel="Stylesheet" type="text/css">
<body>
<?php
if(isset($_SESSION['msg'])){
echo $_SESSION['msg'];
unset($_SESSION['msg']);
}
?>
<div class="container">
<form id="contact" action="processa.php" method="post">
<h3>Cadastro de Ingrediente</h3>
<input type="text" name="Nome" placeholder="Nome do Ingrediente" required="required">
<button type="submit" id="cadastrar">Cadastrar</button>
</form>
</div>
</body>
</html>
arquivo (conexão.php)
<?php
function cadastro($Nome) {
$connection = mysqli_connect("localhost", "root", "", "bananasql");
// Check connection
if($connection === false){
die("Deu ruim mano!" . mysqli_connect_error());
}
$result = mysqli_query($connection, $sql);
$erro = "";
if (mysqli_num_rows($result) > 0) {
return false;
}
$sql = "INSERT INTO ingredientes (Nome) VALUES
('$Nome')";
if(!mysqli_query($connection, $sql)){
die("Deu ruim no cadastro $sql. " . mysqli_error($connection));
}
mysqli_close($connection);
return true;
}
?>
arquivo (processa.php)
<?php
require "conexao.php";
session_start();
$Nome = $_POST["Nome"];
$result_ingredientes = "INSERT INTO ingredientes (nome) VALUES ('$nome')";
$resultado_ingredientes = mysqli_query($connection,$result_ingredientes);
if(mysqli_insert_id($connection)){
$_SESSION['msg'] = "ingrediente cadastrado com sucesso";
header("location:ingrediente.php");
} else{
$_SESSION['msg']="<p style= 'color:black;'>ingrediente não foi cadastrado com sucesso</p>";
header("location:ingrediente.php");
}
?>
Thaynan Vilela
Curtir tópico
+ 0
Responder
Posts
07/10/2019
Alex William
Olá, amigo. Tudo bem?
Vamos por partes, como dizia o esquartejador.
1º Sua conexão(seu codigo que conecta), está dentro de uma função. Quando você tenta cadastrar no "processa.php" você chama a conexão, mas não a função logo a conexão não esta estanciada e gera esse erro.
2º Sua funçao de conexao recebe o parametro $Nome, logo em seguida você utiliza uma variavel $sql que não esta declarada nem estanciada.
Primeiro deixe sua conexao, desta forma somente.
Verifique se da algum erro, e me informe.
Espero ter ajudado. :D
Vamos por partes, como dizia o esquartejador.
1º Sua conexão(seu codigo que conecta), está dentro de uma função. Quando você tenta cadastrar no "processa.php" você chama a conexão, mas não a função logo a conexão não esta estanciada e gera esse erro.
2º Sua funçao de conexao recebe o parametro $Nome, logo em seguida você utiliza uma variavel $sql que não esta declarada nem estanciada.
Primeiro deixe sua conexao, desta forma somente.
<?php $connection = mysqli_connect("localhost", "root", "", "bananasql"); // Check connection if($connection === false){ die("Deu ruim mano!" . mysqli_connect_error()); } ?>
Verifique se da algum erro, e me informe.
Espero ter ajudado. :D
Responder
Clique aqui para fazer login e interagir na Comunidade :)