Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Tworzenie katalogu
miedziopl
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 2.03.2010

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
big_zygi
post
Post #2





Grupa: Zarejestrowani
Postów: 29
Pomógł: 1
Dołączył: 6.02.2012
Skąd: 11°19'N, 142°15'E

Ostrzeżenie: (0%)
-----


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: "/ ? | \ < >"
Go to the top of the page
+Quote Post
miedziopl
post
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 2.03.2010

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 20:28