PDA

Ver la Versión Completa : php y postgre autenticacion de usuarios


halizia
31-07-2006, 12:41:38
hola,
estoy haciendo un formulario de inicio de sesion, pero cuando le doy al boton de aceptar no hace nada y quiero saber dónde está el error. Gracias


<?php
$database = pg_Connect ("host=localhost port=5432 dbname=*** user=****password=****");
pg_exec ($database, "begin");

echo "<ul>";
echo "<li>Usuario</li>";
?>
<html>
<form>
<INPUT TYPE="text" NAME="usuario"><BR>

</html>

<?php
echo "<li>Contraseña</li>";
?>
<html>

<INPUT TYPE="password" NAME="contraseña"><BR>

</html>
<?php
echo "</ul>";
?>
<html>

<input type="submit" value="Aceptar">
<input type="Reset" value="Cancelar">
</form>
</html>
<?php
if (isset($HTTP_POST_VARS['usuario']) && isset($HTTP_POST_VARS['password'])) {
// Compruebo si los datos introducidos son correctos

$usuario= $HTTP_POST_VARS['usuario'];
$contraseña=$HTTP_POST_VARS['password'];
$result=pg_exec("SELECT count(*) FROM ml_users where username=".$usuario."AND password=".$contraseña);
$filas=pg_numrows($result);
if ($filas[0]>0){
echo("hola");
}
}
?>

dec
31-07-2006, 14:14:08
Hola,

El "error" que a aparece a simple vista pude ser que el formulario HTML no tiene ningún atributo "action", es decir, no mandará los datos (vía GET, o vía POST) a ningún sitio, es como si el formulario fuera "de pega".

Algo así podría darte una idea:


<form action="script-receptor-valores.php" method="post">

halizia
01-08-2006, 11:03:37
Gracias dec,

pero ahora, es que resulta que yo el formulario este de login, que estoy haciendo es una componente de mambo, y para direccionar a otro componente, no sé que link poner. ¿Me podeis ayudar?

Gracias

dec
01-08-2006, 14:23:33
Hola,


pero ahora, es que resulta que yo el formulario este de login, que estoy haciendo es una componente de mambo, (...)


La verdad es que nunca he oído hablar de eso. Supongo que si se precisa para hacer lo que necesitas debe haber cierta documentación, ejemplos, en fin, no creo que se trate de inventar nada, sino que seguir las instrucciones. ¿O no? ;)

D-MO
01-08-2006, 14:40:37
...La verdad es que nunca he oído hablar de eso...
Pues aclarandote el asunto, Mambo (En realidad ahora Joomla) es un CMS que promete mucho, yo lo he usado para algunos trabajos en los que me han pedido directamente "Hacer" con Joomla, puedes ver mas información del proyecto en http://Joomla.org.

En cuanto a tu pregunta halizia, si no mal recuerdo (que eso si que la memoria me ha estado fallando mucho), los formularios en mambo deben llevar en el action únicamente el index.php, ¿pero por qué?, la verdad tampoco estoy seguro del porque, pero es así como lo he visto en la mayoria de formularios de los distintos componentes. Te puedes dar cuenta de ello viendo determinado componente que incluya un formulario y pues también ivestiga que otros parámetros deberás enviar mediante post/get para que al recibir esos datos se haga la llamada a tu componente.

Saludos.

dec
01-08-2006, 14:44:33
Hola,


Pues aclarandote el asunto, Mambo (En realidad ahora Joomla) es un CMS que promete mucho, yo lo he usado para algunos trabajos en los que me han pedido directamente "Hacer" con Joomla, puedes ver mas información del proyecto en http://Joomla.org (http://joomla.org/).


Sí; así es. Lo cierto es que he llegado a instalar Joomla y me pareció muy curioso, la verdad. Pensaba que se refería a "componentes", "clases" o algo así para PHP, y, por eso no lo relacioné con Joomla. Además creo que no conocía a Joomla como Mambo, aunque, de algo me suena Mambo... y no de la canción. :D :eek: :D

Gracias Darwin.

D-MO
01-08-2006, 14:50:09
...Además creo que no conocía a Joomla como Mambo...
Pues así es, despues de ciertos problemas creo por parte de los desarrolladores que trataban de hacerlo de pago, decidieron cerrar el proyecto en la versión 4.5.2 ó 4.5.3 no recuerdo muy bien, pero el grupo a en contra de la "privatización" inició con este nuevo proyecto, Joomla, el cual está basado completamente en Mambo y muchos de sus ficheros de configuración aún son de Mambo, además la mayoria (por no decir todos) de los componentes de mambo son instalables en Joomla.

Saludos.

halizia
02-08-2006, 09:40:11
al final pude hacer que se direccionara a otro componente!!! pero ahora tengo otro problema :(

resulta q el formulario no manda los datos, el formulario es la misma pagina a la que direcciono, no sé si el fallo puede estar ahi. A ver si m podeis ayudar :rolleyes: Gracias

<?php

if (isset($HTTP_POST_VARS['usuario'])){
$user=$HTTP_POST_VARS['usuario'];
$pass=$HTTP_POST_VARS['contraseña'];
echo($user);
}else{
echo "<ul>";
echo "<li>Usuario</li>";
?>
<html>
<form action="index.php?option=com_identificarse" method="post">
<INPUT TYPE="text" NAME="user"><BR>

<?php
echo "<li>Contraseña</li>";
?>
<INPUT TYPE="password" NAME="pass"><BR>

<?php
echo "</ul>";
?>
<input type="submit" value="Aceptar">
<INPUT TYPE="reset" VALUE="Cancelar">
</form>

</html>
<?php
}
?>

Emilio
02-08-2006, 20:11:35
Tamos un poquillo verdes ein!!

He modificado un poquito tu código y me queda así...


<?
if (isset($HTTP_POST_VARS['user'])){
$user = $HTTP_POST_VARS['user'];
$pass = $HTTP_POST_VARS['pass'];
echo $user."<br>";
echo $pass."<br>";
exit;
}
?>
<form action="" method="post">
<INPUT TYPE="text" NAME="user"><BR>
<INPUT TYPE="password" NAME="pass"><BR>
<INPUT TYPE="submit" value="Aceptar">
<INPUT TYPE="reset" VALUE="Cancelar">
</form>

halizia
03-08-2006, 11:58:47
el error no era ese. Es que al estar trabajando con Mambo hay que usar las funciones específicas para recoger los datos del formulario, por si a alguien le ocurre lo mismo esa funcion es mosGetParam($_Request,$variable); si el method es Post y si es Get: mosGetParam($_GET,$variable);

Gracias de todos modos a todos :)