Foros del Web » Programando para Internet » PHP »

que tengo mal

Estas en el tema de que tengo mal en el foro de PHP en Foros del Web. Tengo los siguientes codigos: introducir.htm <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <form name="form1" method="post" action="insert.php"> <p>Titulo: <input type="text" name="titulo"> ...
  #1 (permalink)  
Antiguo 29/07/2004, 11:58
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
que tengo mal

Tengo los siguientes codigos:

introducir.htm

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="insert.php">
<p>Titulo:
<input type="text" name="titulo">
</p>
<p>Direccion:
<input type="text" name="url">
</p>
<p>Descripci&oacute;n:
<textarea name="descripcion"></textarea>
</p>
<p>
<input type="submit" name="Submit" value="Enviar">
</p>
</form>
</body>
</html>

insert.php

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<?

echo $titulo;

?>
</body>
</html>


resulta que en mi equipo me saca este error:

Notice: Undefined variable: titulo in c:\archivos de programa\easyphp1-7\www\links\insert.php on line 10

pero se probo en otro equipo y funciona perfecto, es mas lo probe en un host y funciona de maravilla, pero en mi maquina no funciona, si, se que es un codigo sencillo pero es que esta es simplemente la comprobacion para luego cuando lo corrija, introducir unos datos a mi bd.

esto es urgente, gracias....
__________________
Say no more.......
  #2 (permalink)  
Antiguo 29/07/2004, 12:41
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 15 años, 11 meses
Puntos: 1
Paso de Variables y NOTICE

Saludos.

Entiendo que quieres imprimir el dato $titulo que pides en el formulario.

Si es eso, entonces:

Debes especificar por donde viene la variable, Get, Post, etc.

En tu caso sería:

insert.php

Código PHP:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<? echo $_POST[titulo]; ?>
</body>
</html>
Si funciona en un host y en otro no, es porque depende de como este configurado el paso de variables en el php.ini de cada server.

Así como te lo coloco, no importa como este configurado, siempre lo entenderá.

Suerte
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.

Última edición por José Molina; 29/07/2004 a las 12:43
  #3 (permalink)  
Antiguo 29/07/2004, 12:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Parece que además de usar register_globals a OFF (leer esta FAQ: http://www.forosdelweb.com/showthrea...989#post238989 ) también tienes el reporte de errores (error_reporting de tu php.ini) para que muestre todo mensaje de error y "avisos" como el mencionado en tu mensaje de error.

Podrías bajar el nivel de errores en tu php.ini (directiva: error_reporting) ...pero lo que realmente deberías es programar correctamente tipo:

Código PHP:
<? 
// si está definida la variable externa "titulo" .....
if (isset(echo $_POST['titulo']){
    
// la usas
    
echo $_POST['titulo'];
}
?>
Un saludo,
  #4 (permalink)  
Antiguo 29/07/2004, 14:16
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
no se como bajarle el nivel de errores (me podrian ayudar) y lo probe con
echo $_POST['TITULO']; me lo publica, pero antes me da este error: Notice: Use of undefined constant titulo - assumed 'titulo' in c:\archivos de programa\easyphp1-7\www\links\insert.php on line 10


ademas, lo que no entiendo, es por que en otro equipo y en el hosting si funciona bien, pero en el mio no si yo tengo corriendo el apache y el php bien.
__________________
Say no more.......
  #5 (permalink)  
Antiguo 29/07/2004, 14:50
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
Como te ha dicho Cluster tendrás que sustituir esto en tu php.ini para que no te salgan los "Notices", solamente te saldrán los errores críticos.

error_reporting = E_ALL & ~E_NOTICE
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #6 (permalink)  
Antiguo 29/07/2004, 14:54
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
bien, ya lo cambie pero sigue igual
__________________
Say no more.......
  #7 (permalink)  
Antiguo 29/07/2004, 14:58
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
aunque, ahora que lo pienso bien, sera esto producto de que no tengo privilegios de administrador?
__________________
Say no more.......
  #8 (permalink)  
Antiguo 29/07/2004, 15:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
el_cesar .. ya te he dicho que ese tema es "configurable" .. y resulta que en tu servidor de pruebas PHP no lo tienes configurado exactamente igual que en el de tu servicio de Hosting.

PHP .. para bien o para mal es altamente configurable .. así que debes conocer la configuración de este.

1) Edita tu php.ini: (el php.ini que manda es que diga en tu phpinfo() en el primer bloque de información .. normalemnte en el directorio: ?:windows)

2) busca .. error_reporting = ....

Debe quedar algo tipo:
error_reporting = E_ALL & ~E_NOTICE

3) Reinicia tu servidor.

Más info aquí:
http://www.php.net/manual/en/ref.err...rror-reporting


Un saludo,
  #9 (permalink)  
Antiguo 02/08/2004, 09:32
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
Bueno, pues estuve cambiando mi php.ini mil y una veces y nada, le puse al error_reporting E_ALL & ~E_NOTICE y nada, lo deje en (0) y nada, instale la version 5 y nada, ya no se que mas hacer, es mas desactive el reporte de errores y tampoco.

agradezco su ayuda.
__________________
Say no more.......
  #10 (permalink)  
Antiguo 02/08/2004, 09:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. insisto ...

Tu estás seguro que el php.ini que modificas una y mil veces es el que debes modificar (ya te comenté en mi anterior mensaje como saberlo). Y .. a todo esto .. reinicas tu servidor con cada cambio que haces en tu php.ini?

Con qué versión de PHP te marcaba este mensaje:
Cita:
Notice: Use of undefined constant titulo - assumed 'titulo' in c:\archivos de programa\easyphp1-7\www\links\insert.php on line 10
Un saludo,
  #11 (permalink)  
Antiguo 02/08/2004, 09:54
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
Si, el php.ini que estoy modificando es el que esta en mi win.ini y el error me sale con la version 4.3.3 y con la 5, no se, yo tengo instalado el easyphp y pues la verdad estoy pensando desmontarlo e instalarlo manual, que me recomiendan?
__________________
Say no more.......
  #12 (permalink)  
Antiguo 02/08/2004, 10:08
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
bueno ya creo que solucione mi problema, pues a la final voy a seguir trabajando de la manera echo_$POST, pero ahora mi pregunta es, como hago de esa manera para insertar los datos a una BD?
__________________
Say no more.......
  #13 (permalink)  
Antiguo 02/08/2004, 11:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
el_cesar ...

Tienes que ver a tu "insertar datos en tu BD" como una sentencia SQL y que para PHP no es más que una cadena (string) cualquiera.

Si piensas así .. el hecho de usar $_POST['variable'] ..o cualquier otra cosa (variable... función que devuelva algo .. etc) sólo es cosa de ir "concatenando" tu cadena con tus variables para ir formando la sentencia SQL final:

Código PHP:
$sql="INSERT INTO tabla (nose) VALUES ('".$_POST['nose']."')"
Un saludo,
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 23:36.