Foros del Web » Programando para Internet » PHP »

Problema al mostrar formulario en php

Estas en el tema de Problema al mostrar formulario en php en el foro de PHP en Foros del Web. Buenas, estaba modificando u nsistema de noticias que habia emprendido hace unas semanas, pero me surgio un pequeño fallo y es que no me muestra ...
  #1 (permalink)  
Antiguo 04/10/2006, 08:41
 
Fecha de Ingreso: enero-2006
Ubicación: Asturias
Mensajes: 61
Antigüedad: 18 años, 3 meses
Puntos: 0
Problema al mostrar formulario en php

Buenas, estaba modificando u nsistema de noticias que habia emprendido hace unas semanas, pero me surgio un pequeño fallo y es que no me muestra ahora el formulario para editar una noticia. Me deja la página con el color de fondo elegido, pero sin nada mas, ni errores ni nada, ...

La consulta a la base la comprobe en el phpmyadmin y funciona correctamente.

Código PHP:
<?php
    
//recibimos la variable id enviada en el enlace por GET
    
$id=$_GET[id];
    
//conectamos a la base
    
$connect=mysql_connect("xx1","xx2","xx3");
    
//Seleccionamos la base
    
mysql_select_db("xx2",$connect);  
    
//hacemos las consultas
    
$result=mysql_query("SELECT * from noticias WHERE id='$id'",$connect);
    
//Mostramos los registros para su edicion
    
while($row=mysql_fetch_array($result))
    {
    echo 
'<form action="edit_noticia.php" method="post">
    <input type="hidden" name="id" value="'
.$row['id'].'"><br>  
    Título noticia:<br>  
    <input type="text" name="titulo" value="'
.$row['titulo'].'"><br>  
    Autor:<br>  
    <input type="text" name="autor" value="'
.$row['autor'].'"><br>  
    Categoría:<br>  
    <input type="text" name="categoria" value="'
.$row['categoria'].'"><br>  
    Escriba el articulo<br>  
    <textarea name="articulo" cols="50" rows="10">'
.$row['articulo'].'</textarea>  
    <br>  
    <input type="submit" value="Editar"><br>  
    </form>'
;
    }
    
mysql_free_result($result);
    
mysql_close($connect);
    
?>
Un Saludo y Gracias.
  #2 (permalink)  
Antiguo 04/10/2006, 08:55
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 17 años, 9 meses
Puntos: 5
MODIFICA
Código PHP:
    //hacemos las consultas
    
$result=mysql_query("SELECT * from noticias WHERE id='$id'",$connect);
    
//Mostramos los registros para su edicion 
POR ESTO OTRO
Código PHP:
    //hacemos las consultas
    
echo $sql     =   "SELECT * from noticias WHERE id='$id'" ;
    
$result =   mysql_query($sql,$connect);
    
//Mostramos los registros para su edicion 
y ve como esta tu consulta por pantalla
si se ve bien, copiala y pega en un analizador de consulta de tu base de datos (para verificar que entrege resultados)
  #3 (permalink)  
Antiguo 04/10/2006, 11:36
 
Fecha de Ingreso: enero-2006
Ubicación: Asturias
Mensajes: 61
Antigüedad: 18 años, 3 meses
Puntos: 0
Lo hice como dijiste, y me muestra en pantalla esto:

SELECT * from noticias WHERE id=''

Pero solo que no entiendo lo que me dices que haga o no se lo que es, como que en un analizador?

Gracias.
  #4 (permalink)  
Antiguo 04/10/2006, 11:47
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 10 meses
Puntos: 0
Primero asegurate de recoger bien el id

Código PHP:
if (!isset ($_GET['id'])) {
     
//No llega la variable necesaria asi q muestra un error o lo q te parezca
} else {
    
$id=$_GET['id']; 
    
//Resto de tu codigo 
Luego, normalmente los IDs son campos q usamos como numericos asi q si es el caso la consulta esta mal pues sobran las comillas simples:

Código PHP:
echo $sql="SELECT * from noticias WHERE id=$id" //Asi si seria si es el caso 
Cita:
Lo hice como dijiste, y me muestra en pantalla esto:

SELECT * from noticias WHERE id=''

Pero solo que no entiendo lo que me dices que haga o no se lo que es, como que en un analizador?

Gracias.
Eso quiere decir q la variable $id viene vacía... cosa q deberías validar para no tener problemas de ataques o similares...

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #5 (permalink)  
Antiguo 05/10/2006, 03:50
 
Fecha de Ingreso: enero-2006
Ubicación: Asturias
Mensajes: 61
Antigüedad: 18 años, 3 meses
Puntos: 0
Las comillas las puse, pq al ingresar la consulta en el phpmyadmin sin ellas, me daba error y para que funcioase tenia que añadirselas, por eso las puse.

Hice lo que dijiste, pero me falla el código no se donde. Me da este error::

Parse error: syntax error, unexpected $end in ... on line 39

La linea 39 es la ultima de todas, la del cierre html. El código ahora mismo lo tengo así, pero no encuentro el fallo, comprobe los cierres y no encontre ningun mal cerrado... No se en que falla.

Código PHP:
<html>
<head>
</head>
<BODY leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" link="#666699" bgcolor="#009999">
<?php
    
//recibimos la variable id enviada en el enlace por GET
    
if (!isset ($_GET['id'])) { 
     
//No llega la variable necesaria asi q muestra un error o lo q te parezca 
} else { 
    
$id=$_GET['id'];
    
//conectamos a la base
    
$connect=mysql_connect("imysql00","i3796761","gd47xg1oyawgs270");
    
//Seleccionamos la base
    
mysql_select_db("i3796761",$connect);  
    
//hacemos las consultas 
    
echo $sql="SELECT * from noticias WHERE id=$id" 
    
$result =   mysql_query($sql,$connect); 
    
//Mostramos los registros para su edicion  
    
while($row=mysql_fetch_array($result))
    {
    echo 
'<form action="edit_noticia.php" method="post">
    <input type="hidden" name="id" value="'
.$row[id].'"><br>  
    Título noticia:<br>  
    <input type="text" name="titulo" value="'
.$row['titulo'].'"><br>  
    Autor:<br>  
    <input type="text" name="autor" value="'
.$row['autor'].'"><br>  
    Categoría:<br>  
    <input type="text" name="categoria" value="'
.$row['categoria'].'"><br>  
    Escriba el articulo<br>  
    <textarea name="articulo" cols="50" rows="10">'
.$row['articulo'].'</textarea>  
    <br>  
    <input type="submit" value="Editar"><br>  
    </form>'
;
    }
    
mysql_free_result($result);
    
mysql_close($connect);
    
?>
</body>
</html>
Un Saludo y Gracias.
  #6 (permalink)  
Antiguo 05/10/2006, 04:03
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 10 meses
Puntos: 0
No has cerrado el else.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #7 (permalink)  
Antiguo 05/10/2006, 05:24
 
Fecha de Ingreso: enero-2006
Ubicación: Asturias
Mensajes: 61
Antigüedad: 18 años, 3 meses
Puntos: 0
Ostras, ahora va perfectamente, Muchas Gracias!!!

No se como me las apaño pero siempre me como algo y dp al revisar nunca lo encuentro, ... Gracias!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:34.