1
resposta

Preciso de ajuda com esse código.

Estou precisando fazer um pequeno sistema para criar assinaturas de emails, mas, estou com dificuldade. Gostaria de saber se alguém poderia me ajudar. Para começar preciso inserir as informações no banco, mas, está dando erro, poderiam me ajudar? O código está abaixo.

<?php
if (isset($_POST['cadastro']) && $_POST['cadastro'] == 'add') {


$name = $_POST['name'];
$role = $_POST['role'];
$church = $_POST['church'];
$phone = $_POST['phone'];
$site = $_POST['site'];

$cadastra = "INSERT INTO gerador (name, role, church, phone, site) VALUES ('$name', '$role', '$church', '$phone', '$site')";



    if ($cadastra =='1') {
    echo "<script type='text/javascript'>alert('".$_POST['name']." Foi cadastrado com sucesso!');</script>";
    }else {
    echo "<script type='text/javascript'>alert('".$_POST['name']." Erro ao cadastrar!');</script>";
    }
}
?>
1 resposta

Olá!

Você precisa criar uma conexão com seu banco de dados, preferencialmente utilizando PDO, e em posse dessa conexão aberta, executar a função MySQL para a sua query.

Nesse momento a variável $cadastra, está apenas recebendo uma string, que se tornará sua query, mas sem conexão, ela será apenas uma string e, nesse caso, no seu IF, você está comparandando sua stringa com a string "1", que não são iguais.

Seu if poderá ser apenas if ($cadastra) {} e, após a execução, se a condição for verdadeira, ela irá executar o código contido dentro do IF.

Sugiro também executar a execução do IF com negação e remover o ELSE. Desta forma, caso a condição seja falsa, será lançada uma exception. No caso verdadeiro, seguira o fluxo normal, evitando a necessidade do uso do ELSE e deixando seu código mais limpo e fácil de compreender.

Nos links abaixo você pode ver como realizar sua conexão com o banco de dados:

https://www.php.net/manual/pt_BR/ref.pdo-mysql.php

https://www.devmedia.com.br/php-pdo-como-se-conectar-ao-banco-de-dados/37211