Duvida PHP

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

Duvida PHP

Mensagempor 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
Membro de Ouro
 
Mensagens: 650
Registado: Sexta Jun 24, 2005 14:27

Mensagempor 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
Aprendiz
 
Mensagens: 70
Registado: Quarta Abr 20, 2005 13:11

Mensagempor 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?? :roll: pq eu tou +- com o mm problema...
Imagem

so quem sabe que nao sabe procura saber...os numeros dominam o mundo!! :P
Avatar do Utilizador
tofas
Aprendiz
Aprendiz
 
Mensagens: 88
Registado: Segunda Mai 16, 2005 16:14

Mensagempor Triple » Terça Fev 21, 2006 14:30

tofas comigo já funciona :D

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
Membro de Ouro
 
Mensagens: 650
Registado: Sexta Jun 24, 2005 14:27

Mensagempor tofas » Terça Fev 21, 2006 14:40

Triple Escreveu:tofas comigo já funciona :D

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... :roll:
Imagem

so quem sabe que nao sabe procura saber...os numeros dominam o mundo!! :P
Avatar do Utilizador
tofas
Aprendiz
Aprendiz
 
Mensagens: 88
Registado: Segunda Mai 16, 2005 16:14

Mensagempor Triple » Terça Fev 21, 2006 14:42

echo ("$query");

Cumps :wink:
Triple
Membro de Ouro
Membro de Ouro
 
Mensagens: 650
Registado: Sexta Jun 24, 2005 14:27

Mensagempor Triple » Terça Fev 21, 2006 14:57

Eu queria apresentar o ID da noticia juntamente com ela mas n sei fazer isto :P Se alguem souber que diga :D

Cumps
Triple
Membro de Ouro
Membro de Ouro
 
Mensagens: 650
Registado: Sexta Jun 24, 2005 14:27

Mensagempor tofas » Terça Fev 21, 2006 16:02

fiz umas coisita.... e funciona :P



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" >
    &nbsp;
   <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 :P )

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";}
}
Imagem

so quem sabe que nao sabe procura saber...os numeros dominam o mundo!! :P
Avatar do Utilizador
tofas
Aprendiz
Aprendiz
 
Mensagens: 88
Registado: Segunda Mai 16, 2005 16:14

Mensagempor Baía » Terça Fev 21, 2006 19:43

Triple Escreveu:tofas comigo já funciona :D

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
Aprendiz
 
Mensagens: 70
Registado: Quarta Abr 20, 2005 13:11

Mensagempor 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
Membro de Ouro
 
Mensagens: 650
Registado: Sexta Jun 24, 2005 14:27

Mensagempor 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&gtwindow.open('form.html', '_self')</script>";
}else{
echo "errado";
}
?>

Cumps
Triple
Membro de Ouro
Membro de Ouro
 
Mensagens: 650
Registado: Sexta Jun 24, 2005 14:27

Mensagempor capricorn » Quarta Fev 22, 2006 14:35

redireccionar uma pagina:
Código: Seleccionar todos
echo "<script>location='novapagina.php'";</script>";
capricorn
Membro de Prata
Membro de Prata
 
Mensagens: 383
Registado: Sexta Ago 20, 2004 13:03
Localização: Porto

Mensagempor Triple » Quarta Fev 22, 2006 19:10

Tanks Capricorn :D

Cumps
Triple
Membro de Ouro
Membro de Ouro
 
Mensagens: 650
Registado: Sexta Jun 24, 2005 14:27

Mensagempor 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
Membro de Ouro
 
Mensagens: 650
Registado: Sexta Jun 24, 2005 14:27

Mensagempor 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
Membro de Prata
 
Mensagens: 383
Registado: Sexta Ago 20, 2004 13:03
Localização: Porto

Próximo

Voltar para Programação

Quem está ligado:

Utilizadores a ver este Fórum: Nenhum utilizador registado e 0 visitantes

cron