Creare folder cu textul din campul USERNAME Topic is solved

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator

cucuvalentin
New Member
Mesaje: 3
Membru din: Lun Mai 09, 2016 1:21 am

Creare folder cu textul din campul USERNAME

Mesajde cucuvalentin » Lun Mai 09, 2016 1:29 am

Salutare!
Incerc sa setez pagina ca atunci cand te inregistrezi sa iti creeze automat si un folder...numai ca atunci cand incerc sa introduc in link numele utilizatorului imi da eroarea "Parse error: syntax error, unexpected T_STRING in /home/jro/public_html/index.php on line 128"

Codul meu este acesta

Cod: Selectaţi tot

if(!count($err))
   {
      
      
      $pass = substr(md5($_SERVER['REMOTE_ADDR'].microtime().rand(1,100000)),0,6);
      
      $_POST['email'] = mysql_real_escape_string($_POST['email']);
      $_POST['username'] = mysql_real_escape_string($_POST['username']);
            
      mysql_query("   INSERT INTO tz_members(usr,pass,email,regIP,dt)
                  VALUES(
                  
                     '".$_POST['username']."',
                     '".md5($pass)."',
                     '".$_POST['email']."',
                     '".$_SERVER['REMOTE_ADDR']."',
                     NOW()
                     
                  )");
      
      if(mysql_affected_rows($link)==1)
      {
         $_SESSION['msg']['reg-success']='Parola a fost trimisa la adresa de mail!';
         
         mkdir('clients/$_GET['username']', 0777, true);
         
      }
      else $err[]='Numele de utilizator este deja luat!';
   }


cum pot face ca textul din campul "USERNAME" sa ajunga in

Cod: Selectaţi tot

mkdir('clients/[text-username], 0777, true)



MarPlo
Senior Member
Mesaje: 885
Membru din: Mie Sep 24, 2008 9:32 am
Localitate: Braila
Contact:

Re: Creare folder cu textul din campul USERNAME  Topic is solved

Mesajde MarPlo » Lun Mai 09, 2016 9:39 am

Salut
Problema la imbricare ghilimele. Incearca asa:

Cod: Selectaţi tot

mkdir('clients/'$_GET['username'], 0777true); 

cucuvalentin
New Member
Mesaje: 3
Membru din: Lun Mai 09, 2016 1:21 am

Re: Creare folder cu textul din campul USERNAME

Mesajde cucuvalentin » Lun Mai 09, 2016 12:59 pm

Imi da eroarea asta acum....

Warning: mkdir() [function.mkdir]: File exists in /home/jro/public_html/index.php on line 128

Warning: Cannot modify header information - headers already sent by (output started at /home/jro/public_html/index.php:128) in /home/jro/public_html/index.php on line 139

MarPlo
Senior Member
Mesaje: 885
Membru din: Mie Sep 24, 2008 9:32 am
Localitate: Braila
Contact:

Re: Creare folder cu textul din campul USERNAME

Mesajde MarPlo » Mar Mai 10, 2016 11:19 am

Mesajul de eroare spune destul de clar: "Acel director exista deja".
Inainte de a aplica mkdir() poti sa verifici cu is_dir() daca acel director exista.

Cod: Selectaţi tot

$path_dir ='clients/'. $_GET['username'];
if(!
is_dir($path_dir)) mkdir($path_dir, 0777, true);

cucuvalentin
New Member
Mesaje: 3
Membru din: Lun Mai 09, 2016 1:21 am

Re: Creare folder cu textul din campul USERNAME

Mesajde cucuvalentin » Mar Mai 10, 2016 7:45 pm

Am rezolvat problema!
Greseala era la ca nu trecusem adrea completa

Cod: Selectaţi tot

mkdir('clients/'. $_GET['username'], 0777, true);

trebuia defapt asa

Cod: Selectaţi tot

mkdir('/home/website/public_html/clients/'. $_GET['username'], 0777, true);

Multumesc de ajutor!

O alta alternativa ar fi asta

Cod: Selectaţi tot

$homepath = "/home/jro/public_html/clients/";
         $username = $_REQUEST["username"];
         $userDir = $homepath.$username;
         $newDir = mkdir($userDir, 0777);      

Ambele testate, ambele functionale

nevvermind
Senior Member
Mesaje: 1264
Membru din: Mar Iun 22, 2010 3:17 pm

Re: Creare folder cu textul din campul USERNAME

Mesajde nevvermind » Mie Mai 11, 2016 12:25 pm

Valeu, si securitatea, MarPlo? mkdir('clients/'. $_GET['username'], 0777, true);? Really? Colac peste ditamai pupaza, mai e si 777...

cucuvalentin, documenteaza-te oleaca despre astea de mai sus. O s-o patesti altfel.

Nu face foldere cu numele oricarui fraier de pe net. Fa un tabel cu niste coloane "username", "foldername", si poti avea:
"gigi", "srguh4htjhgr", (folderul "clients/srguh4htjhgr")
"kent8", "asdaeaewdas", (folderul "clients/asdaeaewdas")
"cucuvali", "whtwg", (folderul "clients/whtwg")

Unde acele nume de foldere din paranteze le generezi cu vreo functie random
Facusi un canal de php pe freenode - ##php-ro : https://webchat.freenode.net/


Înapoi la “PHP Incepători”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 55 vizitatori