Foros del Web » Programando para Internet » PHP »

Crear carpeta al registrarse - no me funciona

Estas en el tema de Crear carpeta al registrarse - no me funciona en el foro de PHP en Foros del Web. Tengo este código Acá declara la ruta y toma el valor al registrarse Código PHP: <?php     $usuario  =  $_GET [ 'usr' ];      $ruta  =  ...
  #1 (permalink)  
Antiguo 12/08/2010, 04:08
Avatar de MarioAlejandroCR2  
Fecha de Ingreso: mayo-2010
Ubicación: Esparza - Puntarenas
Mensajes: 98
Antigüedad: 13 años, 11 meses
Puntos: 2
Crear carpeta al registrarse - no me funciona

Tengo este código

Acá declara la ruta y toma el valor al registrarse
Código PHP:
<?php
    $usuario 
$_GET['usr'];
    
$ruta $_SERVER["DOCUMENT_ROOT"];
    
$ruta .='/ti/usuarios/'.$usuario;
?>

Acá toma la ruta y la crea
Código PHP:
<?php 
      
echo 'Felicidades <b><font color="#888888">' .$usuario'</font></b> ahora eres parte de la carrera de Tecnologías de Información en la Universidad Técnica Nacional</b> ... Dirigete a la página de <a href="index.php" style="color:#888888; font-weight:bold; text-decoration:none;">Inicio</a> y podras iniciar sesión<p></p>';
      if(isset(
$usr)){
         if(
$usr!=''){
            if(!
mkdir($ruta,0700)){
        echo 
'ERROR:\\ NO se pudo crear directorio para almacenar datos.<br>';
        echo 
'Favor pongase en contacto con el departamento de servicio al cliente.'
            } 
// fin del if del mkdir    
         
}   // fin del if del usuario en blanco
      
}     // fin del if del usuario declarado
    
?>
Si me toma el valor del nombre del usuario el formulario de la pagina registrar envia el campo del nombre y el get lo toma, pero no me crea la carpeta, la ruta ¿esta correcta en sintaxis? o ¿cuál es el problema?
Uso microsoft xp sp3, la pagina se aloja en localhost de apache, pero en las propiedades de me la marca como solo lectura y no puedo modificarla.
De antemano gracias
  #2 (permalink)  
Antiguo 12/08/2010, 05:07
Avatar de Alun  
Fecha de Ingreso: diciembre-2009
Ubicación: Liverpool
Mensajes: 140
Antigüedad: 14 años, 4 meses
Puntos: 4
Respuesta: Crear carpeta al registrarse - no me funciona

Hola:

Creo que te faltó crear el directorio. Haces la comprobación, pero no lo creass. Prueba así:

Código PHP:
<?php 
      
echo 'Felicidades <b><font color="#888888">' .$usuario'</font></b> ahora eres parte de la carrera de Tecnologías de Información en la Universidad Técnica Nacional</b> ... Dirigete a la página de <a href="index.php" style="color:#888888; font-weight:bold; text-decoration:none;">Inicio</a> y podras iniciar sesión<p></p>';
      if(isset(
$usr)){
         if(
$usr!=''){
         
mkdir($ruta);//con esto, se crea el directorio en la ruta especificada en el único parámetro necesario.
            
if(!is_dir($ruta)){//esto comprueba que el archivo dado a la función sea un directorio
        
echo 'ERROR:\\ NO se pudo crear directorio para almacenar datos.<br>';
        echo 
'Favor pongase en contacto con el departamento de servicio al cliente.'
            } 
// fin del if del mkdir    
         
}   // fin del if del usuario en blanco
      
}     // fin del if del usuario declarado
    
?>
Espero que te sirva. Suerte
  #3 (permalink)  
Antiguo 12/08/2010, 05:08
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: Crear carpeta al registrarse - no me funciona

Buenas,

Fijate que aqui estas llamando a una variable que no existe:

Código PHP:
if(isset($usr)){
         if(
$usr!=''){ 


Debería de ser $usuario. Ya que por lo que veo en tu código $usr no existe.
Eso en primer lugar.

En segundo lugar, el problema se debe a la ruta que te da:
Código PHP:
$ruta $_SERVER["DOCUMENT_ROOT"]; 
A mi personalmente, basandome en tu ejemplo, $_SERVER["DOCUMENT_ROOT"], me arroja lo siguiente:

C:/AppServ/www
Por tanto, es como si estuviera creando la carpeta del usuario en la siguiente dirección:

C:/AppServ/www/ti/usuarios/nickdelusuario

¿Conclusión?Debes de especificar el nombre de la carpeta que contiene el proyecto.
Ejemplo:

Código PHP:
$ruta $_SERVER["DOCUMENT_ROOT"];
    
$ruta .='/carpeta_proyecto/ti/usuarios/'.$usr
Así te funcionara.
Saludos,

  #4 (permalink)  
Antiguo 12/08/2010, 08:37
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: Crear carpeta al registrarse - no me funciona

Y otra cosa muy importante: Filtra los valores que recibes del usuario!
__________________
I see dead pixels
  #5 (permalink)  
Antiguo 12/08/2010, 12:09
Avatar de MarioAlejandroCR2  
Fecha de Ingreso: mayo-2010
Ubicación: Esparza - Puntarenas
Mensajes: 98
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: Crear carpeta al registrarse - no me funciona

Gracias Deffer era esa la solución, el valor del usuario, la dirección si etaba bien, también gracias Serge, dedazos que se la pasan a uno, es el trabajo final de la u, y ya el cansacio lo vence a uno jaja

Etiquetas: registrarse, carpetas
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 00:05.