Ir para conteúdo

Arquivado

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

helio aranha

sistema de comentario (nao esta a conectar com a base de dados) - PHP

Recommended Posts

estou a tentar criar um sistema de comentarios, criei o codigo como no tutorial mais na hora de executar da um erro. alguem pode me ajudar ?

 

este e o codigo connection.php

 

<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "comentario_tb";
$con = mysql_connect($host, $user, $pass, $db);
mysql_select_db($db);
?>
aqui esta o código da inserção dos dados:
<?php
$nome=$_POST['nome'];
$email=$_POST['email'];
$website=$_POST['website'];
$comentario=$_POST['comentario'];
$insert = "INSERT INTO comentario_pessoa(nome, email, website, comentario)
VALUE('$nome', '$email', '$website', '$comentario')";
$query = mysql_query($insert);
echo "OBRIGADO SEU COMENTARIO FOI ENVIADO";
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parece que você está passando um parâmetro a mais no mysql_connect.
http://php.net/manual/en/function.mysql-connect.php

Tente fazer dessa forma:

$hostname = 'localhost';
$user = 'root';
$pass = 'root';
$db = 'database';

$con = mysql_connect($hostname, $user, $pass) or die(mysql_error());
$db = mysql_select_db($db, $con);

Se o erro persistir, posta o erro que aparece.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

estou a tentar criar um sistema de comentarios, criei o codigo como no tutorial mais na hora de executar da um erro. alguem pode me ajudar ?

 

este e o codigo connection.php

 

<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "comentario_tb";
$con = mysql_connect($host, $user, $pass, $db);
mysql_select_db($db);
?>
aqui esta o código da inserção dos dados:
<?php
$nome=$_POST['nome'];
$email=$_POST['email'];
$website=$_POST['website'];
$comentario=$_POST['comentario'];
$insert = "INSERT INTO comentario_pessoa(nome, email, website, comentario)
VALUE('$nome', '$email', '$website', '$comentario')";
$query = mysql_query($insert);
echo "OBRIGADO SEU COMENTARIO FOI ENVIADO";
?>

 

 

Amigo troque o mysql por mysqli (a função mysql foi descontinuada)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora esta com este erro:

 

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp\www\connection.php on line 7

 

Access denied for user 'root'@'localhost' (using password: YES)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora esta com este erro:

 

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp\www\connection.php on line 7

 

Access denied for user 'root'@'localhost' (using password: YES)

 

Use o mysqli ou PDO em vez do mysql colega

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela dica Dougg_gost

usei o mysqli agora no codigo para inserir o comentario esta a dar este erro:

 

Notice: Undefined index: nome in C:\wamp\www\insertcomment.php on line 3

 

Notice: Undefined index: email in C:\wamp\www\insertcomment.php on line 4

 

Notice: Undefined index: website in C:\wamp\www\insertcomment.php on line 5

 

Notice: Undefined index: comentario in C:\wamp\www\insertcomment.php on line 6

 

Deprecated: mysql_query(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp\www\insertcomment.php on line 10

Compartilhar este post


Link para o post
Compartilhar em outros sites

o codigo utilizado e este:

 

<?php
$nome=$_POST['nome'];
$email=$_POST['email'];
$website=$_POST['website'];
$comentario=$_POST['comentario'];
$insert = "INSERT INTO comentario_pessoa(nome, email, website, comentario)
VALUE('$nome', '$email', '$website', '$comentario')";
$query = mysql_query($insert);
echo "OBRIGADO SEU COMENTARIO FOI ENVIADO";
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

o codigo utilizado e este:

 

<?php
$nome=$_POST['nome'];
$email=$_POST['email'];
$website=$_POST['website'];
$comentario=$_POST['comentario'];
$insert = "INSERT INTO comentario_pessoa(nome, email, website, comentario)
VALUE('$nome', '$email', '$website', '$comentario')";
$query = mysql_query($insert);
echo "OBRIGADO SEU COMENTARIO FOI ENVIADO";
?>

 

Mande o código do HTML também, acho q vc n nomeou a textbox corretamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca mysqli, não esquece do i no final de todas as funções do mysql.

Sem contar que não pode esquecer a variável de conexão também

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja consegui corrir os erros agora quando faço enviar comentario ele me envia a mensagem:

 

"OBRIGADO SEU COMENTARIO FOI ENVIADO"

 

mas nao grava nada na base de dados do my SQL

 

vou postar os codigos

-----------------------------------------------------

 

comentario.html

 

<html>
<head>
<meta charset="utf8">
<title>sistema de comentario - dela helio</title>
</head>
<body>
<form name="commentform" method="post" action="insertcomment.php">
Nome: <input type="text" name="nome"/><br/><br/>
Email: <input type="text" name="email"/><br/><br/>
website: <input type="text" name="website"/><br/><br/>
comentario: <textarea name="comentario"></textarea><br/><br/>
<input type="submit" name="submit" value="Enviar Comentario"/>
</form>
</body>
</html>
----------------------------------------------
insertcomment.php
<?php
$nome = $_POST["nome"];
$email = $_POST["email"];
$website = $_POST["website"];
$comentario = $_POST["comentario"];
$mysqli_query =("INSERT INTO comentario_pessoa(nome, email, website, comentario)
VALUE('$nome', '$email', '$website', '$comentario')");
echo "OBRIGADO SEU COMENTARIO FOI ENVIADO";
?>
----------------------------------------------
connection.php
<?php
$hostname = 'localhost';
$user = 'root';
$pass = '';
$db = 'comentario_tb';
$mysqli = new mysqli($hostname, $user, $pass, $db);
$mysqli_select_db =('db') or trigger_error(mysqli_error());
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Ja consegui corrir os erros agora quando faço enviar comentario ele me envia a mensagem:

 

"OBRIGADO SEU COMENTARIO FOI ENVIADO"

 

mas nao grava nada na base de dados do my SQL

 

vou postar os codigos

-----------------------------------------------------

 

comentario.html

 

<html>
<head>
<meta charset="utf8">
<title>sistema de comentario - dela helio</title>
</head>
<body>
<form name="commentform" method="post" action="insertcomment.php">
Nome: <input type="text" name="nome"/><br/><br/>
Email: <input type="text" name="email"/><br/><br/>
website: <input type="text" name="website"/><br/><br/>
comentario: <textarea name="comentario"></textarea><br/><br/>
<input type="submit" name="submit" value="Enviar Comentario"/>
</form>
</body>
</html>
----------------------------------------------
insertcomment.php
<?php
$nome = $_POST["nome"];
$email = $_POST["email"];
$website = $_POST["website"];
$comentario = $_POST["comentario"];
$mysqli_query =("INSERT INTO comentario_pessoa(nome, email, website, comentario)
VALUE('$nome', '$email', '$website', '$comentario')");
echo "OBRIGADO SEU COMENTARIO FOI ENVIADO";
?>
----------------------------------------------
connection.php
<?php
$hostname = 'localhost';
$user = 'root';
$pass = '';
$db = 'comentario_tb';
$mysqli = new mysqli($hostname, $user, $pass, $db);
$mysqli_select_db =('db') or trigger_error(mysqli_error());
?>

 

Tente assim:

comentario.html
 
<html>
<head>
<meta charset="utf8">
<title>sistema de comentario - dela helio</title>
    
</head>
 
 
<body>
 
      <form name="commentform" method="post" action="insertcomment.php">
 
Nome: <input type="text" name="nome"/><br/><br/>
Email: <input type="text" name="email"/><br/><br/>
website: <input type="text" name="website"/><br/><br/>
comentario: <textarea name="comentario"></textarea><br/><br/>
 
<input type="submit" name="submit" value="Enviar Comentario"/>
 
      </form>
</body>
</html>
 
----------------------------------------------
 
insertcomment.php
 
<?php
$hostname = 'localhost';
$user = 'root';
$pass = '';
$db = 'comentario_tb';
$conexao = mysqli_connect($hostname, $user, $pass, $db);
if($_POST){
$nome = $_POST["nome"];
$email = $_POST["email"];
$website = $_POST["website"];
$comentario = $_POST["comentario"];

mysqli_query =($conexao,"INSERT INTO comentario_pessoa(nome, email, website, comentario)
VALUE('$nome', '$email', '$website', '$comentario')"or die (mysqli_error()));

echo "OBRIGADO SEU COMENTARIO FOI ENVIADO";
}else{
echo "ERRO NO POST";
}
?>
 
----------------------------------------------
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Do jeito que o Dougg falou não tem erro! E você pode até fazer uma variável para o comendo SQL, desta forma:

...
$comentario = $_POST["comentario"];
$sql = "INSERT INTO comentario_pessoa
(nome, email, website, comentario)
VALUES
('$nome', '$email', '$website', '$comentario')";
mysqli_query($conexao, $sql) or die (mysqli_error()));

echo "OBRIGADO SEU COMENTARIO FOI ENVIADO";
...

Assim facilita a leitura do seu código! E outra dica, tenta separar as funções do SQL em arquivos a parte!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A linha 14 e esta:

 

mysqli_query =($conexao,"INSERT INTO comentario_pessoa(nome, email, website, comentario)
VALUE('$nome', '$email', '$website', '$comentario')"
or die (mysqli_error()));

Compartilhar este post


Link para o post
Compartilhar em outros sites

A linha 14 e esta:

 

mysqli_query =($conexao,"INSERT INTO comentario_pessoa(nome, email, website, comentario)

VALUE('$nome', '$email', '$website', '$comentario')"or die (mysqli_error()));

mysqli_query($conexao,"INSERT INTO comentario_pessoa(nome, email, website, comentario)
VALUE('$nome', '$email', '$website', '$comentario')"or die (mysqli_error()));

Foi um erro meu esse "="

 

 

Troca por tudo que eu mandei cara!

 

Do jeito do Insanity ta certo também, são duas vias para chegar no mesmo resultado :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei novamente ele mandou a msg:

 

OBRIGADO SEU COMENTARIO FOI ENVIADO

 

fiz um refresh no browser ele retomou a msg:

 

ERRO NO POST

 

acho que ja esta correcto, o mais estranho e que n grava dados na base de dados

 

ja nao sei o que fazer galera

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.