Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Onde eu errei? Segue meu microcms:
connect.php
<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "microcms";
$a = @mysql_connect($host, $user, $pass) or die(mysql_error());
@mysql_select_db($db, $a) or die('Erro ao se conectar com o banco de dados!');
?>
inserir.html
<form method="post" action="insert.php">
<label>Titúlo da Página:</label>
<input name="title" type="text" />
<label>Conteúdo HTML</label>
<textarea name="body"></textarea>
<input name="" type="submit" value="Cadastrar Página" />
</form>
insert.php
<?php
include ("connect.php");
$title = $_POST['title'];
$body = $_POST['body'];
$x = mysql_query("INSERT INTO pages (id, title, body) VALUES ('','$title', '$body')");
if($x){
echo "A página com nome de: $title, foi inserida com sucesso!";
}else{
echo 'Ocorreu um erro!';
}
?>
display.php
<?php
include ("connect.php");
$pag = isset($_GET['pag']) ? $_GET['pag'] : '1';
$sql = mysql_query("SELECT * FROM pages WHERE id = '$pag'");
while($x = mysql_fetch_array($sql)) {
$id =$x["$id"];
$title =$x["$title"];
$body =$x["$body"];
}
?>
<?php
echo "<h2>$title</h2>";
echo "$body";
?>
editar.php
<?php
include ("connect.php");
$pag = isset($_GET['pag']) ? $_GET['pag'] : '1';
$sql = mysql_query("SELECT * FROM pages WHERE id = '$pag'");
while($x = mysql_fetch_array($sql)) {
$id =$x["$id"];
$title =$x["$title"];
$body =$x["$body"];
}
?>
<form method="post" action="update.php">
<label>Titúlo da Página:</label>
<input name="title" type="text" value="<?php echo "$title"; ?>" />
<label>Conteúdo HTML</label>
<textarea name="body"><?php echo "$body"; ?></textarea>
<input name="" type="submit" value="Alterar Página" />
</form>
update.php
<?php
include ("connect.php");
$pag = $_GET['pag'];
$title = $_POST['title'];
$body = $_POST['body'];
$x = mysql_query("UPDATE pages SET title = '$title, body = '$body' WHERE id = '$pag';");
if($x){
echo "A página $title, foi alterada com sucesso!";
}else{
echo 'Ocorreu um erro!';
}
?>Tá fácil hoje em dia hein, é só chegar tacando o código para outros resolverem.
Amigo, ajude para ser ajudado. Escreva um pouco sobre o que aconteçe com o código, mostre erros (caso existam), enfim... pelo menos escreva um pouco.
Quando altero o conteúdo, é mostrada a mensagem que alterou, mas quando faço a requisição da página, continua do mesmo jeito!
você nao esta enviando a variavel $pag corretamente, você declarou o METHOD como POST, aqui você colocou como GET
errado
$pag = $_GET['pag'];
certo
$pag = $_POST['pag'];
Tem q declara no seu form d editar, algo como
<input name="" type="hidden" value="<?=$pag;?>" />
Você podia escrever esse "algo como" direito! Porque eu não entendi, nada.
Aqui esta o form q você vai aplicar as modificacoes,... você deve especificar qual registro vai ser modificado, geralmente utilizam o ID, um numero unico.
Entao deve criar um input hidden para guardar esse valor, algo assim:
<input name="pag" type="hidden" value="<?=$pag;?>" />
<?php
include ("connect.php");
$pag = isset($_GET['pag']) ? $_GET['pag'] : '1';
$sql = mysql_query("SELECT * FROM pages WHERE id = '$pag'");
while($x = mysql_fetch_array($sql)) {
$id =$x["$id"];
$title =$x["$title"];
$body =$x["$body"];
}
?>
<form method="post" action="update.php">
[b]<input name="pag" type="hidden" value="<?=$pag;?>" />[/b]
<label>Titúlo da Página:</label>
<input name="title" type="text" value="<?php echo "$title"; ?>" />
<label>Conteúdo HTML</label>
<textarea name="body"><?php echo "$body"; ?></textarea>
<input name="" type="submit" value="Alterar Página" />
</form>
Agora na hora do UPDATE, em vez de** ****$_GET['pag'];**, coloque **$_POST['pag']**.
<?php
include ("connect.php");
[b]$pag [/b][b]= $_POST['pag'];[/b]
$title = $_POST['title'];
$body = $_POST['body'];
$x = mysql_query("UPDATE pages SET title = '$title, body = '$body' WHERE id = '$pag';");
if($x){
echo "A página $title, foi alterada com sucesso!";
}else{
echo 'Ocorreu um erro!';
}
?>Muito obrigado! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif
, se ainda não sugiro que leia as Regras do Fórum. Se já leio, sugiro que leia novamente:
>
01ª - Conteúdo fora de contexto
Não poste mensagens ou tópicos fora dos temas centrais dos fóruns tais como piadas, assuntos políticos, futebol, etc. Para estes assuntos, existe o fórum Entretenimento. Evite entitular os tópicos com palavras como: "ME AJUDE", "PELO AMOR DE DEUS", "ESTOU DESESPERADO", "URGENTE", "SOCORRO", "HELP", "PEDIDO", "IMPLORO", "PLEASE", "DÚVIDA", ou qualquer coisa similar, assim como utilizar Caixa Alta (letras todas em maiúsculas) no título ou mesmo no corpo do tópico ou post. Utilize títulos curtos e claros, que condizam com o contexto do tópico, por favor.
05ª - Post UP!
Favor não postar mensagens com o objetivo de evidenciar o tópico, tornando-o primeiro da lista de tópicos (up), tal como mensagens repetitivas e/ou que não condizem com o assunto do tópico em questão (flood).
No mais estarei marcando seu tópico como Resolvido. Qualquer dúvida remanescente entre em contato com algum Moderaor/Administrador para que o estado do tópico seja revertido.
Estarei tabém alterando o título do tópico para algo mais condizente com a dúvida apresentada.
qual o erro que o script apresenta?