Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Tworzenie katalogu
Forum PHP.pl > Forum > Przedszkole
miedziopl
Witam

Mam problem. Chciałbym aby podczas rejestracji jeżeli dane są wysłane tworzyło mi unikalny katalog o nazwie $login - która jest nazwą użytkownika zapisywaną w bazie danych. Nie wiem czy wpisałem to w złym miejscu czy czegoś jeszcze brakuje. Część skryptu wygląda tak.

Kod
function register()
{
  if(isSet($_SESSION['id_Uzytkownik'])){
    echo("<h3 align='center'>Już rejestrowałeś się w serwisie. ");
    echo("Jestes aktualnie zalogowany.</h3>");
    return;
  }
  if(!isSet($_POST['Imie']) || !isSet($_POST['Nazwisko']) ||
     !isSet($_POST['Ulica']) || !isSet($_POST['Nr_domu']) ||
     !isSet($_POST['Nr_mieszkania']) || !isSet($_POST['Miasto']) ||
     !isSet($_POST['Kod']) || !isSet($_POST['Login']) ||
     !isSet($_POST['Email']) || !isSet($_POST['Haslo'])){
    echo("<h3 align='center'>Otrzymano nieprawidłowe dane.</h3>");
    return;
  }
  $Imie = $_POST['Imie'];
  $Nazwisko = $_POST['Nazwisko'];
  $Ulica = $_POST['Ulica'];
  $Nr_domu = $_POST['Nr_domu'];
  $Nr_mieszkania = $_POST['Nr_mieszkania'];
  $Kod = $_POST['Kod'];
  $Miasto = $_POST['Miasto'];
  $Login = $_POST['Login'];
  $Email = $_POST['Email'];
  $Haslo = $_POST['Haslo'];

  if($Imie == '' || $Nazwisko == '' || $Ulica == '' || $Nr_domu == '' || $Nr_mieszkania == '' ||
     $Kod == '' || $Miasto == ''|| $Login == '' || $Email == '' ||
     $Haslo == '' ){
    echo("<h3 align='center'>Brak wymaganych danych.</h3>");
    include "sklep_register_form.php";
    return;
  }

  if(!makeDBConnection()){
    echo("<h3 align='center'>Błąd bazy. Dane nie ");
    echo("zostały zapisane.</h3>");
    return;
  }

  $zapytanie = "SELECT COUNT(*) FROM Uzytkownicy WHERE Login='$Login'";

  if(!$wynik = mysql_query($zapytanie)){
    echo("<h3 align='center'>Wystąpił błąd serwera.</h3>");
    return;
  }  

  if(!$row = mysql_fetch_row($wynik)){
    echo("<h3 align='center'>Wystąpił błąd serwera.</h3>");
    return;
  }

  if($row[0] <> 0){
    echo("<h3 align='center'>Musisz wybrać inny login.</h3>");
    include "sklep_register_form.php";
    return;
  }

  $zapytanie = "INSERT INTO Uzytkownicy VALUES( NULL, '$Imie', '$Nazwisko', '$Ulica', '$Nr_domu', '$Nr_mieszkania', '$Miasto', '$Kod', '$Login', '$Email', '$Haslo')";

    
  if(!mysql_query($zapytanie).mysql_error()){
    echo("<h3 align='center'>Wystąpił błąd1. Dane nie zostały zapisane.</h3>");
    return;
  }
    if(mysql_affected_rows() != 1){
    echo("<h3 align='center'>Wystąpił błąd2. Dane nie zostały zapisane.</h3>");
    return;
  }
  if(!$id = mysql_insert_id()){
    echo("<h3 align='center'>Dane zostały zapisane, ale nie udało ");
    echo("się zalogowanie. Zaloguj się korzystając z odnośnika: ");
    echo("<a href='main.php?action=logowanie'>logowanie</a>");
    return;
  }
  $_SESSION['id_Uzytkownik'] = $id;
  mkdir ("../obrazki/'$Login'", 0700, true);
  echo("<h3 align='center'>Dane zostały zapisane. Jesteś zalogowany.<br>");
  echo("Możesz korzystać ze wszystkich funkcji serwisu.");
  
}


Proszę o pomoc smile.gif
big_zygi
nie wiem czy zadziała ale spróbój tak podać polecenie

mkdir ("../obrazki/".$Login, 0700, true);

pozatym co w przypadku gdy ktoś poda nazwe loginu z takimi znakami np: "/ ? | \ < >"
miedziopl
już rozwiązałem zamiast mkdir ("../obrazki/'$Login'", 0700, true); trzeba było mkdir ("obrazki/$Login", 0700, true);

To jest tylko rozwiązanie na próbę. Nie wiedziałem czemu nie tworzy mi katalogu. Ale dzięki smile.gif mozna zamknąć wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.