Problemas con variables en PHP

Hola. Tengo un problema con este programa en php ya que cuando lo
ejecuto en el servidor en el servidor, me dice que las variables
que uso en el formulario y que paso al programa en php no están
definidas (f_texto, f_aut_apellido, f__aut_apellido). ¿Al utilizar el método post no estoy pasando ya las variables con sus valores al programa? ¿Dónde está el error?
Muchas gracias por vuestra ayuda.
------
[Form_entrada.php]
<h2>Por favor, escribe tu aportación</h2>
<br>
<form action="escribirbd.php" method=POST>
Nombre:
<input type=text name=f_aut_nombre size=30></input>
Apellido:
<input type=text name=f_aut_apellido size=30></input>
Tu aportación:<br><br>
<textarea name=f_texto cols=40 rows=10></textarea><br><br>
<input type=submit value="Enviar contribución"></input>
</form>
------------
[Escribirbd.php]
<?
include ("libreriaphp.php");
conectar_bd("localhost", "root", "", "prueba");
if (($f_texto != "") && ($f_aut_nombre != "") && ($f_aut_apellido != ""))
{
$insertar_texto = "INSERT INTO aportaciones (nombre, apellido, texto)
VALUES (\"$f_aut_nombre\", \"$f_aut_apellido\", \"$f_texto\")";
mysql_query($insertar_texto);
echo mysql_error();
echo "Gracias. <br>";
}
?>

1 respuesta

Respuesta
1
¿Estas utilizando PHP 4.1 o mayor?
En este caso ten en cuenta la línea:
Regiter Globals On / Off
del PHP.INI.
Si esta en On (Standard en PHP 4.2), las variables pasadas por POST, no pasan DIRECTAMENTE. Es Decir:
$f_texto pasa como $HTTP_POST_VARS["f_texto"]
Prueba modificar en tu escribirbd.php los valores: $f_texto por $HTTP_POST_VARS["f_texto"]
Para más información, y si sabes leer ingles puedes visitar:
http://www.php.net/manual/ro/reserved.variables.php#reserved.variables.globals
Para volver al sistema anterior, puedes deshabilitar Regiter Globals, pero no se lo aconseja en el sitio oficial de php.
Ten en cuenta, que tambien ahora funcionan:
$HTTP_GET_VARS[]
$HTTP_COOKIE_VARS[]
$HTTP_POST_FILES[]
Suerte...
P.D. Si así no funciona, o necesitas más información, puedes contar conmigo.
Pablo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas