Foros del Web » Programando para Internet » PHP »

Ayuda.. se podra hacer esto?¿?

Estas en el tema de Ayuda.. se podra hacer esto?¿? en el foro de PHP en Foros del Web. Buenas Noches.. con un amigo estamos queriendo hacer un proyecto web... (tipo juego, pero no tanto) para esto, necesitamos crear un BD para registrar usuarios ...
  #1 (permalink)  
Antiguo 18/03/2007, 18:40
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Pregunta Ayuda.. se podra hacer esto?¿?

Buenas Noches..
con un amigo estamos queriendo hacer un proyecto web... (tipo juego, pero no tanto)
para esto, necesitamos crear un BD para registrar usuarios y que cada uno tengo un panel.. eso en parte lo concluí.. ahora el problema es a la ahora de que se registre el usuario, tendria que poner los campos de:

USUARIO
EMAIL
PASS

y tendria que hagregar un campo desplegable con distintas opciones... la cosa es que de acuerdo a la opcion que se eliga te tendria que dar una imagen y tirarte el link de la imagen.. esto se podria hacer manualmente.. pero estoy tratando de automatizar el proceso porque seria mucho trabajo, y mas si la web crece y aumentan los users..
ahh otra cosita que me olvide de aclarar con respecto a las imagenes tendria que ser una imagen distinta para cada usuario que se registre..

un ejemplo para aclarar:

USER1 eleje la opcion "deporte" (por decir algo)
USER2 elije tambien la misma opcion

entonces al USER1 el link que le tiraria al registrase es www.dominio.com/img/deporte.jpg

y al USER2 tendria que ser la misma imagen pero con distinto nombre
www.dominio.com/img/deporte2.jpg (por ejemplo)


no se si se entiedió lo que les intente explicar

Saludos!!
Buenas noches y gracias por su ayuda de antemano...
MC
  #2 (permalink)  
Antiguo 18/03/2007, 18:55
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Ayuda.. se podra hacer esto?¿?

Eso de la misma imagen con distinto nombre, creo que solo es cuestion de copiar la imagen a la "carpeta de usuario", entonces cada usuario tendria su imagen y de forma ordenada, sin tener x imagenes iguales con distinto nombre...

Código:
root/
      index.php
      usuarios/
            user1/
                    deportes.jpg
            user2/
                    deportes.jpg
            user3/
                    barbies.jpg
            user4/
                    entretenimiento.jpg


Lo que no se entiende del todo, es cual es tu dificultad :P

Saludos
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #3 (permalink)  
Antiguo 18/03/2007, 19:08
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: Ayuda.. se podra hacer esto?¿?

Buenas noches Fridureiks,
eso que dices de copiar la imagen a la carpeta de usuario.. tendria que ser de modo manual no es asi??
la verdad que nunca eh hecho una web con la opcion de registrar usuarios.. asique no se como funciona.. como es? genera una carpeta para cada usuario en la base de datos??

lo que queria hacer es que al registrarte te tire el link de la imagen automaticamente.. una forma puede ser que te al registrarte te llegue un mail con los datos de la cuenta creada y el link de tu imagen que elegistes..
pero como se puede hacer eso automatico..??
porque la principio mi amigo penso todo en forma manual y yo le dije que no se podia.. seria mucho lio.. el pensaba responder el mail manualmente y crear una imagen con distinto nombre por cada formulario que llegue de registro.. pero yo lo que intento es hacer eso mismo automaticamente..
no se si se entiende..
saludos y gracias por tu respuesta..
MC
  #4 (permalink)  
Antiguo 18/03/2007, 19:24
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Ayuda.. se podra hacer esto?¿?

PHP está para automatizar, pero para explicarte como hacer todo ese sistema si no tenes ni idea de lo que es programar o usar PHP va a hacer falta mucho mas que un post en un foro

Todo eso que deseas se puede automatizar. Basicamente es guardar los usuarios en una tabla de tu BD, en ese mismo momento crearle una carpeta, copiarle su imagen y enviarle un mail con toda esa informacion. Y para todo esto tenes funciones para BD, para archivos y para mails.

Tenes conocimientos de programacion?

Saludos
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #5 (permalink)  
Antiguo 18/03/2007, 19:33
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: Ayuda.. se podra hacer esto?¿?

Se HTML y empeze a usar PHP no hace mucho.. pero estoy leyendo un tutorial..
es muy dificil hacer esto que te digo?
se me hara muy difil? la BD ya la tengo creada...
saludos y gracias!!
MC
  #6 (permalink)  
Antiguo 18/03/2007, 19:50
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Ayuda.. se podra hacer esto?¿?

Lo que planteaste no es complicado y si pones un poco de empeño lo podes hacer. Revisa esos listados de funciones, lee, busca mas tutoriales y plantea dudas concretas acompañadas por código para que te ayudemos

Antes de hacer nada planea bien lo que deseas hacer, hacete algun diagrama para no perderte en el camino.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #7 (permalink)  
Antiguo 19/03/2007, 09:15
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: Ayuda.. se podra hacer esto?¿?

Buenos dias Fridureiks,

bueno estoy empezando a armar esto.. que no se me va a hacer nada facil de por cierto y voy a necesitar bastante ayuda.. !!
bueno tengo un error a la hora de registrar usuarios.. sin nada de lo que postee aca... dejo el codigo (como dijistes) para que lo miren y bueno....

ESTA ES LA TABLA DE LA BASE DE BATOS
Código HTML:
CREATE TABLE usuarios (
      id bigint(7) NOT NULL auto_increment,
      nick char(100) NOT NULL,
      password char(100) NOT NULL,
      nombre char(255) default NULL,
      email char(100) default NULL,
      KEY id (id))
ACA TENGO EL FORMULARIO
Código HTML:
<FORM ACTION="registrar.php" METHOD="post">
      Nick : <INPUT TYPE="text" NAME="nick" SIZE=20 MAXLENGTH=20>
      <BR>
      Email: <INPUT TYPE="text" NAME="email" SIZE=28 MAXLENGTH=100>
      <BR>
      Password: <INPUT TYPE="password" NAME="password"
      SIZE=28 MAXLENGTH=20>
      <BR>
      Nombre: <INPUT TYPE="text" NAME="nombre" SIZE=28
      MAXLENGTH=255>
      <BR>
      <INPUT TYPE="submit" CLASS="boton" VALUE="Registrar">
      </FORM> 

DESPUES TENGO EL ARCHIVO REGISTAR.PHP

Código PHP:
<?php
//AQUI CONEXION O include() DE ARCHIVO DE CONEXION CON BASE DE DATOS.
function quitar($mensaje)
{
$mensaje str_replace("<","<",$mensaje);
$mensaje str_replace(">",">",$mensaje);
$mensaje str_replace("'","'",$mensaje);
$mensaje str_replace('"',""",$mensaje);
$mensaje = str_replace("","",$mensaje);
return $mensaje;
}

if(trim($HTTP_POST_VARS["
nick"]) != "" && trim($HTTP_POST_VARS["email"]) != "")
{
$sql = "
SELECT id FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["nick"])."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo "
Errornick escogido por otro usuario";
}
else
{
$sql = "
INSERT INTO usuarios (nick,password,nombre,emailVALUES (";
$sql .= "'".quitar($HTTP_POST_VARS["nick"])."'";
$sql .= "
,'".quitar($HTTP_POST_VARS["password"])."'";
$sql .= "
,'".quitar($HTTP_POST_VARS["nombre"])."'";
$sql .= "
,'".quitar($HTTP_POST_VARS["email"])."'";
$sql .= "
)";
mysql_query($sql);
echo "
Registro exitoso!";
}
mysql_free_result($result);
}
else
{
echo "
Debe llenar como minimo los campos de email y password";
}
mysql_close();
?>
ESTE ES EL ARCHIVO INGRESAR.PHP

Código PHP:
<?php 

//AQUI PONGO CONEXION O include() PARA CONECTAR A LA BD

function quitar($mensaje)
{
$mensaje str_replace("<","<",$mensaje);
$mensaje str_replace(">",">",$mensaje);
$mensaje str_replace("'","'",$mensaje);
$mensaje str_replace('\"',""",$mensaje);
$mensaje = str_replace("","",$mensaje);
return $mensaje;
}

if(trim($HTTP_POST_VARS["
nick"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
$nickN = quitar($HTTP_POST_VARS["
nick"]);
$passN = quitar($HTTP_POST_VARS["
password"]);

$result = mysql_query("
SELECT password FROM usuarios WHERE nick='$nickN'");
if($row = mysql_fetch_array($result))
{
if($row["
password"] == $passN)
{
//90 dias dura la cookie
setcookie("
usNick",$nickN,time()+7776000);
setcookie("
usPass",$passN,time()+7776000);
?>
Ingreso exitoso, ahora sera dirigido a la pagina principal.
<SCRIPT LANGUAGE="
javascript">
location.href = "
index.php";
</SCRIPT>
<?
}
else
{
echo "
Password incorrecto";
}
}
else
{
echo "
Usuario no existente en la base de datos";
}
mysql_free_result($result);
}
else
{
echo "
Debe especificar un nick y password";
}
mysql_close();
?>
Y ESTE ES EL ARCHVO LOGIN.PHP
Código PHP:
<?php
      $loginCorrecto 
false;
      
$idUsuarioL;
      
$nickUsuarioL;
      
$emailUsuarioL;
      
$nombreUsuarioL

if(isset(
$HTTP_COOKIE_VARS["usNick"]) && isset($HTTP_COOKIE_VARS["usPass"]))
{
$result mysql_query("SELECT * FROM usuarios WHERE nick='".$HTTP_COOKIE_VARS["usNick"]."' AND password='".$HTTP_COOKIE_VARS["usPass"]."'");

if(
$row mysql_fetch_array($result))
{
setcookie("usNick",$HTTP_COOKIE_VARS["usNick"],time()+7776000);
setcookie("usPass",$HTTP_COOKIE_VARS["usPass"],time()+7776000);
$loginCorrecto true;
$idUsuarioL $row["id"];
$nickUsuarioL $row["nick"];
$emailUsuarioL $row["email"];
$nombreUsuarioL $row["nombre"];
}
else
{
//Destruimos las cookies.
setcookie("usNick","x",time()-3600);
setcookie("usPass","x",time()-3600);
}
mysql_free_result($result);
}
?>

Bueno aca esta todo el codigo.. pero cuando intento registrar un usuario me pone error en la linea dos del archivo registar.php

Parse error: syntax error, unexpected '<' in C:\Documents and Settings\Administrador\Escritorio\NuevaPage\Regist rar.php on line 2

que seria donde esta el include a BD.phop (que me olvide de ponerlo)

SERIA ESTE BD.PHP
Código PHP:
<?
function conectar(){
if (!(
$linkmysql_connect("localhost","root",""))){
echo 
"Error conectando a la base de datos.";
exit();
}
if (!(
mysql_select_db(user,$link))){
echo 
"Error seleccionando la base de datos.";
exit();
}
return 
$link;
}
este codigo lo fui haciendo con un tutorial.. hay algo mal??
bueno disculpa la pregunta tan larga...
saludos y gracias!!
MC
  #8 (permalink)  
Antiguo 19/03/2007, 10:01
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Ayuda.. se podra hacer esto?¿?

registrar.php
Código PHP:
function quitar($mensaje)
{
$mensaje str_replace("<","<",$mensaje);
$mensaje str_replace(">",">",$mensaje);
$mensaje str_replace("'","'",$mensaje);
$mensaje str_replace('"',""",$mensaje);
$mensaje = str_replace("","",$mensaje);
return $mensaje;

El problema esta en esta linea:

$mensaje = str_replace('"',""",$mensaje);

El segundo parámetro de la funcion tiene 3 comillas dobles, deberia seguir la logica del primer parametro... es decir, una doble encerrada entre dos comillas simples.


$mensaje = str_replace('"','"',$mensaje);

De todas formas este codigo no tiene sentido porque te esta reemmplazando " por "

Saludos
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #9 (permalink)  
Antiguo 19/03/2007, 11:17
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Ayuda.. se podra hacer esto?¿?

Te recomendaria que no buscaras un tutorial para hacer un registro de usuario, sino un manual (actual) para entender lso conceptos basicos de php y luego de ahi en adelante si, busca un tutorial qu ese asemeje a lo que deseas hacer... pero no dejes de mirar su codigo, no te fies. Por ejemplo este codigo que muestras es viejo, está desactualizado... la función quitar no hace nada y ya vinieron varios usuarios al foro con problemas a raiz de este código


Y otra cosita, no coloques TOOOODOOO el codigo, solo la porcion del codigo que incluye la linea del error y todo lo que creas que puede influir en ello.
__________________
Federico.

Mi página: www.jourmoly.com.ar

Última edición por Fridureiks; 19/03/2007 a las 11:25
  #10 (permalink)  
Antiguo 19/03/2007, 17:23
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: Ayuda.. se podra hacer esto?¿?

ahh ok!!
que manual recomiendas??
el mismo de php.net??
saludos!!
MC

Última edición por McBlink; 19/03/2007 a las 19:42
  #11 (permalink)  
Antiguo 19/03/2007, 18:36
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Ayuda.. se podra hacer esto?¿?

Exactamente, el del sitio oficial esta bastante completo. Y como complemento... google. Entiende como funciona php y veras que no es nada dificil el registro de usuarios

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #12 (permalink)  
Antiguo 19/03/2007, 19:55
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: Ayuda.. se podra hacer esto?¿?

Buenas Noches Fridureiks,
buenas noticias!!
tengo hecho el registro de usuarios, funcionando..!!
te cuento.. tengo para registrar usuario nuevo, y para loguearse y que te lleve a la pagina de destino que elejo, tambien puedo restringir el acceso a paginas que quiera..
(eso me sirve exactamente para la pagina mia, no esta que estoy haciendo ahora, si no mi proyecto anterior que esta en un 60%!! mas o menos)

Bueno dejando de lado esto.. lo que te queria preguntar es:

como puedo hacer para que al loguearte te lleve a tu panel de usuario, porque ahora me lleva a la pagina que le pongo que vaya al loguearse... pero como podria hacer para que cada usuario tenga su panel? es muy dificil?

y con respecto al tema del auto mail que estaba pensando que te envie al correo una vez que te registres.. lei el manual que me pasastes sobre correo en PHP http://es2.php.net/manual/es/function.mail.php
y no encontre nada al respecto de como utilizar funciones para tomar el mail que deja el registrante y ponerlo en la funcion FROM (o no se como seria?)

Bueno muchas gracias por tu colaboracion..
saludos!!
MC
  #13 (permalink)  
Antiguo 19/03/2007, 21:36
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Ayuda.. se podra hacer esto?¿?

Cita:
Iniciado por McBlink Ver Mensaje
Buenas Noches Fridureiks,
buenas noticias!!
tengo hecho el registro de usuarios, funcionando..!!
te cuento.. tengo para registrar usuario nuevo, y para loguearse y que te lleve a la pagina de destino que elejo, tambien puedo restringir el acceso a paginas que quiera..
(eso me sirve exactamente para la pagina mia, no esta que estoy haciendo ahora, si no mi proyecto anterior que esta en un 60%!! mas o menos)
Me alegro

Cita:
Iniciado por McBlink Ver Mensaje
Bueno dejando de lado esto.. lo que te queria preguntar es:

como puedo hacer para que al loguearte te lleve a tu panel de usuario, porque ahora me lleva a la pagina que le pongo que vaya al loguearse... pero como podria hacer para que cada usuario tenga su panel? es muy dificil?
Es sencillo. Me imagino que para el login utilizas sesiones, eso te permite almacenar un poco de informacion extra ademas de una variable para diferenciar si el usuario esta logueado o no. Podrias guardar en una variable de sesion el id del usuario, su nick, etc... y dicha informacion la puedes recuperar en el mismo momento que chequeas el login.

En la pagina que elegiste como "restringida" (la que viene luego del login satisfactorio) nomas debes aprovechar la informacion que guardaste en la sesion para mostrar el panel del usuario logueado. Podrias tomar el id del usuario y realizar una simple consulta a la tabla de tu BD que se encarga de guardar la información del usuario. Por ejemplo:

Código PHP:
$id $_SESSION["id"];
$consulta "SELECT * FROM usuarios WHERE id_usuario = $id";
//mysql_query($consulta, $link); etc etc etc 
Una vez que tenes la información solo la tenes que mostrar y ya estarias presentando una especie de panel de usuario, aunque muy básico. La idea es que si logras esto, luego lo vayas mejorando de manera que puedas cumplir los objetivos de tu sistema.

Cita:
Iniciado por McBlink Ver Mensaje
y con respecto al tema del auto mail que estaba pensando que te envie al correo una vez que te registres.. lei el manual que me pasastes sobre correo en PHP http://es2.php.net/manual/es/function.mail.php
y no encontre nada al respecto de como utilizar funciones para tomar el mail que deja el registrante y ponerlo en la funcion FROM (o no se como seria?)
Bien, aqui es donde debes averiguar sobre SQL, PHP + MySQL, las consultas basicas... que tambien te ayudaran en el punto anterior. De hecho, el ejemplo de consulta SQL que coloque en el punto anterior te sirve para recuperar la direccion de mail de un usuario... y una vez que tenes dicho dato, enviar un mail es bastante sencillito.


Un saludo
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #14 (permalink)  
Antiguo 20/03/2007, 07:15
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: Ayuda.. se podra hacer esto?¿?

Bueno muchas gracias... ahora mismo me pongo y veo que puedo hacer..
saludos!!
MC
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:02.