Write haof XML files: Carlos Medina
(
info@simply-networks.de)
Fecha: mar 01 nov 2005 - 09:45:05 CET
Hola,
como te dijeron los colegas anteriores deseo pues que tengas un ejemplo:
regad.php:
//trata de no utilizar html
<?php
$enviar = $_POST['enviar'];
$userid = $_POST['userid'];
$pass = = $_POST['pass']; (y asi con todas las variables...)
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';
> }
> ?>
Si deseas solo hacer un formulario para ti esta bien asi.
Pero si deseas
venderlo o llevarlo a sistemas productivos deberias mejor
hacer clases y
checkear las variables antes de introducirlas al SQL.
Saludos
Carlos
CYBERNIÑO schrieb:
> 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
-- SimplyNetworks, Carlos Medina www.simplynetworks.de PHP, JAVA, PERL Entwicklung -- PHP Spanish Localization Talk Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Este archivo fue generado por hypermail 2.1.7 : sáb 18 mar 2006 - 18:23:40 CET