Jump to content

Recommended Posts

Posted

Boas, criei este código para um sistema de noticias que eu ando a desenvolver mas sempre que vou inserir a noticia aparece a mensagem de erro "Ocorreu um erro ao adicionar a noticia!" que é quando falha a inserir na mysql.. (Mesmo que eu insira os dados correctos etc..)

Alguem me sabe dizer o que está e erro no código?

<?php
require('config.php');

if (!empty($_POST['submit']))
{
$err = array();

if(!$_POST['titulo']) $err[] = "Os campos tem de ser todos prenchidos!!";
if(!$_POST['conteudo']) $err[] = "Os campos tem de ser todos prenchidos!!";
if(!$_POST['autor']) $err[] = "Os campos tem de ser todos prenchidos!!";

if(!count($err))
{
$_POST['titulo'] = mysql_real_escape_string($_POST['titulo']);
$_POST['categoria'] = mysql_real_escape_string($_POST['categoria']);
$_POST['conteudo'] = mysql_real_escape_string($_POST['conteudo']);
$_POST['show_new'] = mysql_real_escape_string($_POST['show_new']);
$_POST['autor'] = mysql_real_escape_string($_POST['autor']);

mysql_query("INSERT INTO web_news(title, text1, cat_id, autor, show_new) VALUES ('".$_POST['titulo']."', '".$_POST['conteudo']."', '".$_POST['categoria']."', '".$_POST['autor']."', '".$_POST['show_new']."', NOW())");

if(mysql_affected_rows($link)==1)
{
$_SESSION['msg']['success'] = "<div class='sucess'>Noticia adicionada com sucesso!";
header("Location: admin.php?action=shownews");
}
else $err[] = "Ocorreu um erro ao adicionar a noticia!";

}
if(count($err))
{
	$_SESSION['msg']['err'] = implode('<br />',$err);
}

}

?>
<html>
<head>
<link rel="stylesheet" href="./minified/themes/default.min.css" type="text/css" media="all" />

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="./minified/jquery.sceditor.bbcode.min.js"></script>
<script>
// Source: http://www.backalleycoder.com/2011/03/20/link-tag-css-stylesheet-load-event/
var loadCSS = function(url, callback){
var link = document.createElement('link');
link.type = 'text/css';
link.rel = 'stylesheet';
link.href = url;
link.id = 'modern';

document.getElementsByTagName('head')[0].appendChild(link);

var img = document.createElement('img');
img.onerror = function(){
if(callback) callback(link);
}
img.src = url;
}

$(document).ready(function() {
var initEditor = function() {
$("textarea").sceditor({
plugins: "xhtml",
style: "./minified/jquery.sceditor.default.min.css"
});
};

$("#theme").change(function() {
var theme = "./minified/themes/modern.min.css";

$("textarea").sceditor("instance").destroy();
$("link:first").remove();
$("#theme-style").remove();

loadCSS(theme, initEditor);
});

initEditor();
});
</script>
</head>
<body>
<div id="addnewsbox">
<form method="post" name="addnews" action="">
<?php
if($_SESSION['msg']['err'])
{
echo '<div class="err">'.$_SESSION['msg']['err'].'</div>';
unset($_SESSION['msg']['err']);
}
if($_SESSION['msg']['sucess'])
{
echo''.$_SESSION['msg']['sucess'].'</div>';
unset($_SESSION['msg']['sucess']);
}
?>
Titulo<font color="red">*</font>:<br/> <input name="titulo" id="titulo" type="text"></input>
Categoria<font color="red">*</font>: </br><select name='categoria' id='categoria'>
										  <option selected>.:: Escolhe uma Categoria ::.</option>
										  <?
$query="select * from web_news_cat order by id_cat";
$rows = mysql_query($query);
while($row = mysql_fetch_array($rows)){
$id_cat   = $row['id_cat'];
$name_cat = $row['name_cat'];
?>
										  <option value="<?echo $id_cat; ?>"><?= $name_cat; ?></option>
										  <?}?>
										</select><br/>
Conteúdo<font color="red">*</font>:
<textarea name="conteudo" id="conteudo" style="height:300px;width:600px;"></textarea>
Mostrar noticia<font color="red">*</font>: </br><select name='show_new' id='show_new'><option selected value="1">Sim</option><option value="0">Não</option></select><br/>
Autor <font color="red">*</font>: <br/><input name="autor" id="autor" type="text"></input>

<button class="btnsub" type="submit" value="addnews" name="submit">Adicionar noticia</button>
</form>
</div>
</body>
</html>
<?php

?>
Posted

resolvi isso, mas não continua na mesma, e não me aperece nenhum erro com a função "mysql_error();"

Código:

<?php

require('config.php');

if (!empty($_POST['submit']))
{
$err = array();

if(!$_POST['titulo']) $err[] = "Os campos tem de ser todos prenchidos!!";
if(!$_POST['conteudo']) $err[] = "Os campos tem de ser todos prenchidos!!";
if(!$_POST['autor']) $err[] = "Os campos tem de ser todos prenchidos!!";

if(!count($err))
{
$_POST['titulo'] = mysql_real_escape_string($_POST['titulo']);
$_POST['categoria'] = mysql_real_escape_string($_POST['categoria']);
$_POST['conteudo'] = mysql_real_escape_string($_POST['conteudo']);
$_POST['show_new'] = mysql_real_escape_string($_POST['show_new']);
$_POST['autor'] = mysql_real_escape_string($_POST['autor']);

mysql_query("INSERT INTO web_news(title, text1, cat_id, autor, show_new) VALUES ('".$_POST['titulo']."', '".$_POST['conteudo']."', '".$_POST['categoria']."', '".$_POST['autor']."', '".$_POST['show_new']."')") OR die(mysql_error());
if(mysql_affected_rows($link)==1)
{
$_SESSION['msg']['success'] = "<div class='sucess'>Noticia adicionada com sucesso!";
header("Location: admin.php?action=shownews");
}
else $err[] = "Ocorreu um erro ao adicionar a noticia!";

}
if(count($err))
   {
       $_SESSION['msg']['err'] = implode($err);
   }

}

?>
<html>
<head>
<link rel="stylesheet" href="./minified/themes/default.min.css" type="text/css" media="all" />

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="./minified/jquery.sceditor.bbcode.min.js"></script>
<script>
// Source: http://www.backalleycoder.com/2011/03/20/link-tag-css-stylesheet-load-event/
var loadCSS = function(url, callback){
var link = document.createElement('link');
link.type = 'text/css';
link.rel = 'stylesheet';
link.href = url;
link.id = 'modern';

document.getElementsByTagName('head')[0].appendChild(link);

var img = document.createElement('img');
img.onerror = function(){
if(callback) callback(link);
}
img.src = url;
}

$(document).ready(function() {
var initEditor = function() {
$("textarea").sceditor({
plugins: "xhtml",
style: "./minified/jquery.sceditor.default.min.css"
});
};

$("#theme").change(function() {
var theme = "./minified/themes/modern.min.css";

$("textarea").sceditor("instance").destroy();
$("link:first").remove();
$("#theme-style").remove();

loadCSS(theme, initEditor);
});

initEditor();
});
</script>
</head>
<body>
<div id="addnewsbox">
<form method="post" name="addnews" action="">
<?php
if($_SESSION['msg']['err'])
{
echo '<div class="err">'.$_SESSION['msg']['err'].'</div>';
unset($_SESSION['msg']['err']);
}
if($_SESSION['msg']['sucess'])
{
echo''.$_SESSION['msg']['sucess'].'</div>';
unset($_SESSION['msg']['sucess']);
}
?>
Titulo<font color="red">*</font>:<br/> <input name="titulo" id="titulo" type="text"></input>
Categoria<font color="red">*</font>: </br><select name='categoria' id='categoria'>
                                             <option selected>.:: Escolhe uma Categoria ::.</option>
                                             <?
$query="select * from web_news_cat order by id_cat";
$rows = mysql_query($query);
while($row = mysql_fetch_array($rows)){
$id_cat   = $row['id_cat'];
$name_cat = $row['name_cat'];
?>
                                             <option value="<?echo $id_cat; ?>"><?= $name_cat; ?></option>
                                             <?}?>
                                           </select><br/>
Conteúdo<font color="red">*</font>:
<textarea name="conteudo" id="conteudo" style="height:300px;width:600px;"></textarea>
Mostrar noticia<font color="red">*</font>: </br><select name='show_new' id='show_new'><option selected value="1">Sim</option><option value="0">Não</option></select><br/>
Autor <font color="red">*</font>: <br/><input name="autor" id="autor" type="text"></input>

<button class="btnsub" type="submit" value="addnews" name="submit">Adicionar noticia</button>
</form>
</div>
</body>
</html>
<?php

?>
Posted (edited)

Consegui resolver o erro colocando o código assim..

Código:

<?php

require('config.php');

if (!empty($_POST['submit']))
{
$err = array();

if(!$_POST['titulo']) $err[] = "Os campos tem de ser todos prenchidos!!";
if(!$_POST['conteudo']) $err[] = "Os campos tem de ser todos prenchidos!!";
if(!$_POST['autor']) $err[] = "Os campos tem de ser todos prenchidos!!";
if($_POST['categoria'] == 0) $err[] = "Escolhe uma categoria!";

if(!count($err))
{
$_POST['titulo'] = mysql_real_escape_string($_POST['titulo']);
$_POST['categoria'] = mysql_real_escape_string($_POST['categoria']);
$_POST['conteudo'] = mysql_real_escape_string($_POST['conteudo']);
$_POST['show_new'] = mysql_real_escape_string($_POST['show_new']);
$_POST['autor'] = mysql_real_escape_string($_POST['autor']);

$link = mysql_query("INSERT INTO web_news(title, text1, cat_id, autor, show_new) VALUES ('".$_POST['titulo']."', '".$_POST['conteudo']."', '".$_POST['categoria']."', '".$_POST['autor']."', '".$_POST['show_new']."')") OR die(mysql_error());
if(!mysql_affected_rows($link)==1)
{
$_SESSION['msg']['success'] = "<div class='sucess'>Noticia adicionada com sucesso!";
header("Location: admin.php?action=shownews");
}
else $err[] = "Ocorreu um erro ao adicionar a noticia!";
}
if(count($err))
{
	$_SESSION['msg']['err'] = implode($err);
}

}

?>
<html>
<head>
<link rel="stylesheet" href="./minified/themes/default.min.css" type="text/css" media="all" />

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="./minified/jquery.sceditor.bbcode.min.js"></script>
<script>
// Source: http://www.backalleycoder.com/2011/03/20/link-tag-css-stylesheet-load-event/
var loadCSS = function(url, callback){
var link = document.createElement('link');
link.type = 'text/css';
link.rel = 'stylesheet';
link.href = url;
link.id = 'modern';

document.getElementsByTagName('head')[0].appendChild(link);

var img = document.createElement('img');
img.onerror = function(){
if(callback) callback(link);
}
img.src = url;
}

$(document).ready(function() {
var initEditor = function() {
$("textarea").sceditor({
plugins: "xhtml",
style: "./minified/jquery.sceditor.default.min.css"
});
};

$("#theme").change(function() {
var theme = "./minified/themes/modern.min.css";

$("textarea").sceditor("instance").destroy();
$("link:first").remove();
$("#theme-style").remove();

loadCSS(theme, initEditor);
});

initEditor();
});
</script>
</head>
<body>
<div id="addnewsbox">
<form method="post" name="addnews" action="">
<?php
if($_SESSION['msg']['err'])
{
echo '<div class="err">'.$_SESSION['msg']['err'].'</div>';
unset($_SESSION['msg']['err']);
}
if($_SESSION['msg']['sucess'])
{
echo''.$_SESSION['msg']['sucess'].'</div>';
unset($_SESSION['msg']['sucess']);
}
?>
Titulo<font color="red">*</font>:<br/> <input name="titulo" id="titulo" type="text"></input>
Categoria<font color="red">*</font>: </br><select name='categoria' id='categoria'>
										  <option selected>.:: Escolhe uma Categoria ::.</option>
										  <?
$query="select * from web_news_cat order by id_cat";
$rows = mysql_query($query);
while($row = mysql_fetch_array($rows)){
$id_cat   = $row['id_cat'];
$name_cat = $row['name_cat'];
?>
										  <option value="<?echo $id_cat; ?>"><?= $name_cat; ?></option>
										  <?}?>
										</select><br/>
Conteúdo<font color="red">*</font>:
<textarea name="conteudo" id="conteudo" style="height:300px;width:600px;"></textarea>
Mostrar noticia<font color="red">*</font>: </br><select name='show_new' id='show_new'><option selected value="1">Sim</option><option value="0">Não</option></select><br/>
Autor <font color="red">*</font>: <br/><input name="autor" id="autor" type="text"></input>

<button class="btnsub" type="submit" value="addnews" name="submit">Adicionar noticia</button>
</form>
</div>
</body>
</html>
<?php

?>

Já agora coloco uma questão, como faço para quando aperece erro o formulário que ele já prencheu não dar reset?

Edited by RuiAlmeida20

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.