PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.
Moderadores: Administradores, Moderadores
por Triple » Segunda Fev 20, 2006 21:51
Boas surgiu-me aqui um contratempo. Estou encravado n consigo passar daqui nem consigo descobrir o que fiz mal. Estou a contruuir um sistema de noticias em php e tou a a fazer de maneira a poder alterar as noticias a partir do site (sem ter que ir à bd) caso haja algum erro. Usei o seguinte codico:
form:
- Código: Seleccionar todos
<form action="modifica.php" method="post">
<p>ID da noticia a alterar </p>
<p>
<label>
<input name="id" type="text" id="id" size="5" maxlength="4" />
</label>
</p>
<p>Titulo
<br>
<input name="Mtitulo" type="text" id="Mtitulo" value="" size="50" maxlength="80">
<br>
Noticia
<br>
<textarea name="Mnoticia" cols="50" rows="20" id="Mnoticia"></textarea>
<br>
<input type="submit" value="modifica" name="submeter">
<input type="reset" value="reset">
</p>
</form>
codico PHP:
- Código: Seleccionar todos
<?
$idmod = $_POST ["id"];
$modificaTxt = $_POST["Mnoticia"];
$modificaTit = $_POST["Mtitulo"];
mysql_connect("localhost","33188","XXXXXX") or die ("fail");
mysql_select_db("33188");
mysql_query = ("UPDATE `noticias` SET `titulo` = '$modificaTit',
`noticia` = '$modificaTxt' WHERE `id` = '$idmod' LIMIT 1" );
?>
Pura e simplesmente não funciona

Porque?[/code]
-
Triple
- Membro de Ouro

-
- Mensagens: 650
- Registado: Sexta Jun 24, 2005 14:27
por Baía » Terça Fev 21, 2006 10:39
mysql_query = ("UPDATE `noticias` SET `titulo` = '$modificaTit',
`noticia` = '$modificaTxt' WHERE `id` = '$idmod' LIMIT 1" );
$query= "UPDATE `noticias` SET `titulo` = '$modificaTit',
`noticia` = '$modificaTxt' WHERE `id` = '$idmod' LIMIT 1"
mysql_query($query);
mysql_query() é uma função!
-
Baía
- Aprendiz

-
- Mensagens: 70
- Registado: Quarta Abr 20, 2005 13:11
por tofas » Terça Fev 21, 2006 14:20
Baía Escreveu:mysql_query = ("UPDATE `noticias` SET `titulo` = '$modificaTit',
`noticia` = '$modificaTxt' WHERE `id` = '$idmod' LIMIT 1" );
$query= "UPDATE `noticias` SET `titulo` = '$modificaTit',
`noticia` = '$modificaTxt' WHERE `id` = '$idmod' LIMIT 1"
mysql_query($query);
mysql_query() é uma função!
e sera por isso??

pq eu tou +- com o mm problema...
so quem sabe que nao sabe procura saber...os numeros dominam o mundo!!

-

tofas
- Aprendiz

-
- Mensagens: 88
- Registado: Segunda Mai 16, 2005 16:14
por Triple » Terça Fev 21, 2006 14:30
tofas comigo já funciona
Não pus como ele fez pk n funcionava também
- Código: Seleccionar todos
$query = mysql_query("UPDATE `noticias` SET `titulo` = '$modificaTit',
`noticia` = '$modificaTxt' WHERE `id` = '$idmod' LIMIT 1");
e aqui vai para eleminar
- Código: Seleccionar todos
$id = $_POST["id"];
mysql_connect("localhost","33188","XXXXXXXX") or die ("fail");
mysql_select_db("33188");
mysql_query ("DELETE FROM `noticias` WHERE `id` = $id LIMIT 1");
-
Triple
- Membro de Ouro

-
- Mensagens: 650
- Registado: Sexta Jun 24, 2005 14:27
por tofas » Terça Fev 21, 2006 14:40
Triple Escreveu:tofas comigo já funciona
Não pus como ele fez pk n funcionava também
- Código: Seleccionar todos
$query = mysql_query("UPDATE `noticias` SET `titulo` = '$modificaTit',
`noticia` = '$modificaTxt' WHERE `id` = '$idmod' LIMIT 1");
e aqui vai para eleminar
- Código: Seleccionar todos
$id = $_POST["id"];
mysql_connect("localhost","33188","XXXXXXXX") or die ("fail");
mysql_select_db("33188");
mysql_query ("DELETE FROM `noticias` WHERE `id` = $id LIMIT 1");
a ja vi tu nao tinhas
- Código: Seleccionar todos
$query=mysql_query (" ...");
atao e se eu tiver :
- Código: Seleccionar todos
$query=mysql_query (" select num from utilizador where nome='tofas' ");
em que o resultado é so 1....
eu sei k nao posso fazer echo "$query" da erro... podem dar 1 ajuda... ja agora...

so quem sabe que nao sabe procura saber...os numeros dominam o mundo!!

-

tofas
- Aprendiz

-
- Mensagens: 88
- Registado: Segunda Mai 16, 2005 16:14
por Triple » Terça Fev 21, 2006 14:42
echo ("$query");
Cumps

-
Triple
- Membro de Ouro

-
- Mensagens: 650
- Registado: Sexta Jun 24, 2005 14:27
por Triple » Terça Fev 21, 2006 14:57
Eu queria apresentar o ID da noticia juntamente com ela mas n sei fazer isto

Se alguem souber que diga
Cumps
-
Triple
- Membro de Ouro

-
- Mensagens: 650
- Registado: Sexta Jun 24, 2005 14:27
por tofas » Terça Fev 21, 2006 16:02
fiz umas coisita.... e funciona
enviar.html
- Código: Seleccionar todos
<html>
<head>
<title> Login </title>
</head>
<body>
<p><b> Login </b></p>
<form action="validar.php" method="POST">
<b>Nome do utilizador</b>
<p><input type="text" value="" name="nome"size="10" ></p>
<b><br>Password</b>
<p><input type="password" value="" name="pass" size="30" ></p>
<p>
<input type="submit" value="Login" name="validar" >
<input type="reset" value="Reset" name="limpar" >
</p>
<!-- isto é um comentario em html...pois é o que estou a usar...bla bla
o que eu keria falar é o botao reset nao vai efectuar nada....tipo clico e limpa... eheh é mm isso que kero :P
-->
</form
</body>
</html>
validar.php- Código: Seleccionar todos
<html>
<head>
</head>
<body>
<?
$nome=$_POST["nome"];
$password=$_POST["pass"];
$botao=$_POST["validar"];
echo " testar... foi escrito no form ... <br>";
echo "<br>".$nome;
echo "<br>".$password;
echo "<br>".$botao;
$conectar=mysql_connect("escrever_servidor", "nome_utilizador","pass" ) or die ("Falhou ligar a base de dados...");
$bdd= @ mysql_select_db("nome_bdd", $conectar) or die ("Falhou..base de dados desconhecida....");
$resultado= @ mysql_query("select pass from utilizador where n_utilizador='$nome';");
while( list($pass)= @ mysql_fetch_row($resultado) )
{
$query=$pass;
}
if($query==$password)
{
echo "<br>consegui efectuar o login...";
}
else
{
echo "<br> xapeu...pass errada ou entao o num_utilizador";
}
mysql_close($conectar);
?>
</body>
</html>
usar o mm enviar.html (mas substituir validar.php por ver.php

)
ver.php- Código: Seleccionar todos
<html>
<head>
</head>
<body>
<?
$nome=$_POST["nome"];
$password=$_POST["pass"];
$conectar=mysql_connect("escrever_servidor", "nome_utilizador","pass" ) or die ("Falhou ligar a base de dados...");
$bdd= @ mysql_select_db("nome_bdd", $conectar) or die ("Falhou..base de dados desconhecida....");
$resultado= @ mysql_query("select n_utilizador, nome, email, pass from utilizador where n_utilizador='$nome';");
while( list($n_utilizador, $nome, $email, $pass)= @ mysql_fetch_row($resultado) )
{ if($pass==$password)
{
echo $n_utilizador;
echo "<br>";
echo $nome;
echo "<br>";
echo $email;
echo "<br>";
}
else{
echo "<br> login errado";}
}
so quem sabe que nao sabe procura saber...os numeros dominam o mundo!!

-

tofas
- Aprendiz

-
- Mensagens: 88
- Registado: Segunda Mai 16, 2005 16:14
por Baía » Terça Fev 21, 2006 19:43
Triple Escreveu:tofas comigo já funciona
Não pus como ele fez pk n funcionava também
- Código: Seleccionar todos
$query = mysql_query("UPDATE `noticias` SET `titulo` = '$modificaTit',
`noticia` = '$modificaTxt' WHERE `id` = '$idmod' LIMIT 1");
e aqui vai para eleminar
- Código: Seleccionar todos
$id = $_POST["id"];
mysql_connect("localhost","33188","XXXXXXXX") or die ("fail");
mysql_select_db("33188");
mysql_query ("DELETE FROM `noticias` WHERE `id` = $id LIMIT 1");
não funcionava pq faltou um ; ... mas isso é questão de olhar para as coisas com olhos
$query= "UPDATE `noticias` SET `titulo` = '$modificaTit', `noticia`= '$modificaTxt' WHERE `id` = '$idmod' LIMIT 1" ;
mysql_query($query);
E $query aqui representa a string da query a ser executada... no teu caso passou a representar o retorno da função mysq_query(). Não sei se percebeste o teu erro no primeiro post:
mysql_query
= ("UPDATE `noticias` SET `titulo` = '$modificaTit', `noticia` = '$modificaTxt' WHERE `id` = '$idmod' LIMIT 1" );
-
Baía
- Aprendiz

-
- Mensagens: 70
- Registado: Quarta Abr 20, 2005 13:11
por Triple » Terça Fev 21, 2006 19:59
ya percebi, eu agora quero apresentar o ID de cada noticia na noticia como faço?
Cumps
-
Triple
- Membro de Ouro

-
- Mensagens: 650
- Registado: Sexta Jun 24, 2005 14:27
por Triple » Quarta Fev 22, 2006 11:13
O Speed Dragon já me explicou como fazer isso do ID, agora quero saber como redirecciono uma pagina

Já tentei com header mas n funciona e agora vi um toturial que usa um javascript e nada também.
<?php
session_start();
if ($_POST['login']=="teste" && $_POST['password']=="teste")
{
session_register("logado");
}
if(session_is_registered("logado")){
echo "<script>window.open('form.html', '_self')</script>";
}else{
echo "errado";
}
?>
Cumps
-
Triple
- Membro de Ouro

-
- Mensagens: 650
- Registado: Sexta Jun 24, 2005 14:27
por capricorn » Quarta Fev 22, 2006 14:35
redireccionar uma pagina:
- Código: Seleccionar todos
echo "<script>location='novapagina.php'";</script>";
-
capricorn
- Membro de Prata

-
- Mensagens: 383
- Registado: Sexta Ago 20, 2004 13:03
- Localização: Porto
por Triple » Quarta Fev 22, 2006 19:10
Tanks Capricorn
Cumps
-
Triple
- Membro de Ouro

-
- Mensagens: 650
- Registado: Sexta Jun 24, 2005 14:27
por Triple » Quarta Fev 22, 2006 19:57
Mais uma duvida, eu queria chegar à linha 11 e saltar para a linha 16 se a sessão estiver registada.
Cumps
-
Triple
- Membro de Ouro

-
- Mensagens: 650
- Registado: Sexta Jun 24, 2005 14:27
por capricorn » Quinta Fev 23, 2006 10:11
isso não é possível em php, embora já tenha lido na net que alguém inventou uma classe que fazia isso (podes procurar por php goto) mas não aconselho. em principio podes contornar a questão com um if(condiç
ao) {fazer isto; fazer aquilo} else {fazer outra coisa}
-
capricorn
- Membro de Prata

-
- Mensagens: 383
- Registado: Sexta Ago 20, 2004 13:03
- Localização: Porto
Voltar para Programação
Quem está ligado:
Utilizadores a ver este Fórum: Nenhum utilizador registado e 0 visitantes