Duda PHP

ArcheR

Buenas.

Antes de nada, dejar claro que no quiero que me hagáis la aplicación, sólo quiero ver si podéis ayudarme a resolver un par de dudas, que no he resuelto mirando ni tutoriales ni nada. Si queréis ir directos al problema, leer sólo la parte en negrita.

El tema es que en el módulo de integración nos ha empezado a dar una profesora malísima. No tiene ni idea de nada, y nos da 2 o 3 webs de tutoriales de php y ale, que nos busquemos la vida.

El tema es que nos ha mandado hacer una aplicación PHP para este Viernes, y nosotros no hemos dado PHP en la vida, y ella tampoco lo explica, así que...

Aún así, he instalado el PHP, MySQL, PHPMyAdmin, y lo que es agregar registros y demás trabajos con la base de datos, parecen funcionar.

Pero tengo un par de dudas, seguramente tontas, pero ya os digo, empecé ayer, Lunes, con PHP.

Bueno, a lo que vamos, hice una página, donde me pide el DNI, lo introduce, le da al botón de Enviar, y reviso si existe o no dicho DNI en la tabla de Clientes de mi BD. El tema está en que, si existe dicho cliente, me mande a una página donde le muestre sus datos, y, si no existe, le mande a otra donde rellene en un formulario todos sus datos y los meta en la BD.

Cómo se hace para redireccionar a una página web? En ASP.NET era Response.Redirect("url_de_la_pagina"), pero aquí, en PHP, he mirado por todos lados y nada.

Gracias.

A

Creo que es:
header('location:pagina.php');

R

Bueno eso lo puedes hacer de varias maneras.

yo lo haria asi, con un poco de java script. Un script muy sencillo.

$dni=mysql_querry("Tu consulta");

if(mysql_num_rows($dni)==1)
{
/* esto mira cuantas tuplas han sido afectadas en este caso como dni supongo k es tu llave primaria como el valor k te devolvera sera 1 si sale existe*/

?>
SCRIPT LANGUAGE="JavaScript">
setTimeout("location.href='TU WEB'", 10);
</SCRIPT>
<?
}
?>
SCRIPT LANGUAGE="JavaScript">
setTimeout("location.href='TU FORMULARIO'", 10);
</SCRIPT>

Se puede hacer asi, que es muy sencillo o ya puedes hacerlo algo mas complicado, con restricciones y lo k kieras. pero la idea es esa. El script este te redirecciona a la pagina k pongas. en 10 milisegundos si kieres aumentarlo pues puedes poner 5000 k serian 5 segundos.

Espero que te ayude.

aunque como dice #2 tambien puedes usar header pero si tu maestro ve el javascript lo mismo se cree k te lo has currado mas por eso lo puse asi jeje :P

GATE_Anthrax

Li que quieres hacer yo lo haria con una condición junto con SQL.

IF (el DNI NO existe){
redireccionalo a la pagina de registro
}elseif (si existe){
lo envias a su pagina personal
}

o sino,

IF (el DNI NO existe){
redireccionalo a la pagina de registro
else
lo envias a su pagina personal
}

Eso si, el IF lo tendrás que pensar tu. Creo yo que es la solución mas sencilla, corta y depurada. :/

ArcheR

#2, #3, pero eso funciona enviando parámetros?

Es que he oído que cuando la página ya recibe algún parámetro, no sirve lo del location, de todas formas probaré a ver :)

#4, precisamente eso es lo que quiero hacer :P

Pr0xNT4

Buenas, creo que esto puede ayudarte

if (condicion)
{
echo "
<script>
location.href='pagina.php&variable=valor'
</script>"
}
else
{
(mas de lo mismo)
}

¿Era eso lo que quieras hacer?

guner

El equivalente a Response.Redirect("X"), es header('Location: X'); Tiene que usarlo antes de enviar ninguna salida.

ArcheR

Sí, #6, eso es justo lo que quería, de todas formas probé lo que dijo #3 y me funcionó, así se queda XD (de todas formas, probaré eso también, por ampliar conocimientos :P).

Una (espero...) última duda.

Resulta que tengo creada una tabla de artículos, donde guardo el ID (autonumérico), la descripción, el precio y la ruta de la imagen.

Entonces, el tema está en que quiero que me aparezca la lista de todos los artículos en una tabla, con un link al lado de cada artículo que ponga "Agregar artículo", para agregar dicho artículo al carrito de la compra del cliente en cuestión.

Eso sólo no tendría más problema (o al menos eso creo), la cosa es que también hay que indicarle la cantidad que vamos a añadir de dicho producto, entonces no sé bien qué hacer. Más o menos sería algo como que debajo de toda la lista de artículos apareciera un textbox, donde el usuario introduzca la cantidad, y cuando le de al link de "Agregar artículo", coja esa cantidad del textbox, pero para poner ese textbox tendré que crear un formulario? Y como saco el valor de ese textbox y se lo envío a otra página sin tener que usar un submit?

Gracias a todos :)

Alperini

algunos profesores deberian estar muertos...

Pr0xNT4

#8
Cuando printes cada línea de la tabla con su descripción enlace y tal, puede añadir un textbox pequeñito para que pongan la cantidad ellos, cada textbox de cantidad que tenga un ID relacionado con el ID del producto.

También puedes hacer que al añadir al carro de la compra, se abra una ventanita donde le pida indicar la cantidad. Y automaticamente lo añada al carrito. Esta ventana debería recibir los datos de la tabla del producto indicado.

Lo del textbox abajo, sin submit diría que no se peude hacer. Pero el propio añadir a la cesta puede servir de submit.

ArcheR

Bueno, #10, al final lo que hice es que cuando le da a agregar el artículo, pues lo que ha dicho, es entonces cuando me pide la cantidad, y así va bien jeje ;)

Usuarios habituales

  • ArcheR
  • Pr0xNT4
  • Alperini
  • guner
  • GATE_Anthrax
  • ReND
  • Archville