Write haof XML files: CYBERNIÑO
(
cyberni@cyberni.com)
Fecha: mar 01 nov 2005 - 03:42:51 CET
Buenas:
Estoy creando una tabla en la base de datos con el fin de mantener usuarios registrados, pero en el primer script, en el que añadiría los registros, me ha surgido un problema que no he sabido resolver. He mirado los manuales, como luego os comento, pero nada.
En primer lugar, tenemos el formulario:
registro.html
<html>
<body>
<p>Rellena el siguiente formulario:</p>
<form method="post" action="regad.php">
<p>usuario<br>
<input type="text" name="userid"></p>
<p>password<br>
<input type="password" name="pass"></p>
<p>e-mail suscrito<br>
<input type="text" name="smail"></p>
<p>e-mail alternativo<br>
<input type="text" name="amail"></p>
<p><input type="hidden" name="estado"
value="rg"></p>
<p><input type="submit" name="enviar"
value="aceptar"></p>
</form>
</body>
</html>
A continuación, el script que debería agregar el registro a la tabla. El usuario y clave de acceso a la base de datos, son supuestos aquí:
regad.php
<html>
<body>
<?php
if ($enviar) {
$conexion = mysql_connect ('localhost', 'usuario',
'clave');
mysql_select_db('mibd', $conexion);
$sql = "INSERT INTO usuarios (userid, pass, smail, amail,
estado)";
$sql .= "VALUES ('$userid', '$pass', '$smail', '$amail',
'$estado')";
$resultado = mysql_query($sql);
echo "¡Gracias! Hemos recibido sus datos.\n";
}
else {
echo "no se han enviado datos \n";
echo 'Volver al formulario';
}
?>
</body>
</html>
Bien, el caso es que siempre me aparece el mensaje de no se
han recibido datos, y el enlace para volver al
formulario.
Si cambio la condición a (!$enviar) el resultado es
que me aparece el mensaje de gracias, haya en viado datos o
no.
Eso me hizo pensar que la variable $enviar no se enviaba,
así que, hice una prueba:
Redirigí la salida, cambiando la etiqueta <form>
a action="pruebadata.php", que sería así:
pruebadata.php
<html>
<body>
<?php
echo $userid . "\n";
echo $pass . "\n";
echo $smail . "\n";
echo $amail . "\n";
echo 'volver al formulario';
?>
</body>
</html>
Nada, no imprime las variables.
Consulto el manual, y la única explicación
posible, podría ser que no estuviera configurada la
directiva track_vars = on en el .ini, pero, además de
que en el .ini hay una nota que dice que desde la
versión 4.0.3 esta directiva está siempre
habilitada, probé a ponerla explícitamente, con
el mismo resultado.
¿Qué hago mal? ¿qué me falta o me
sobra en el script o en el formulario?
Perdón por lo extenso, y gracias de antemano por tomaros la molestia.
Saludos.
CYBERNIÑO
Este archivo fue generado por hypermail 2.1.7 : sáb 18 mar 2006 - 18:23:40 CET