![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 11 Dołączył: 2.03.2008 Skąd: Lublin Ostrzeżenie: (10%) ![]() ![]() |
Może pokażę całość i to co chce uzyskać, bo po jednym błędzie to nie ma sensu. Moja rejestracja opiera się na krokach (3, 4 to potwierdzenie poprawności danych). W 3 kroku można zauploadować avatar. W bazie danych mam pole typu boolean, które sprawdza czy ktoś ma avatar. Jeśli ma, to ładuje obrazek z folderu 'pix/avatar'. W momencie rejestracji, przed przejściem z 3 do 4 kroku obrazek (po sprawdzeniu), jest przesyłany tymczasowo do folderu 'pix/avatar/temp'. Dane pomiędzy krokami przysałam w tablicy poprzez ciasteczko (serialize, unserialize). W ciasteczku chcę jeszcze przesłać tymczasową nazwę avatara, jego roszerzenie i to czy został zauploadowany (do bazy danych). Dam tutaj kawałek kodu:
Kod $types_z = array("image/png", "image/jpeg", "image/gif"); $types_na = array(".png", ".jpg", ".gif"); $type = str_replace($types_z, $types_na, $avatar['type']); $random = rand(1, 99999); $dane['avatar_nazwa'] = $random.$avatar['type']; $prznenies_avatar = move_uploaded_file($avatar['tmp_name'], 'pix/avatar/temp/'.$random.$avatar['type']); $dane['avatar_nazwa'] = $random.$avatar['type']; $dane['avatar_type'] = $avatar['type']; $dane['avatar'] = true; To było z kroku 3, teraz 4. Kod elseif($_GET['krok'] == 4) { $dane = unserialize($_COOKIE['dane']); if(isset($_POST['rejestruj'])) { $rejestruj = mysql_query('INSERT INTO users VALUES (false, "'.$dane['nick'].'","'.md5($dane['haslo']).'","'.$dane['email'].'","'.$dane['gg'].'","'.$dane['tekst_profil'].'","'.$dane['zainteresowania'].'","'.$dane['skad'].'","'.$dane['staz_www'].'","'.$dane['staz_gry'].'","'.$dane['strona_www'].'","'.$dane['avatar'].'","'.$dane['podpis'].'")') or die(mysql_error()); $pobierz = mysql_query('SELECT id_user FROM users WHERE nick_user LIKE "'.$dane['nick'].'"') or die(mysql_error()); $id = mysql_fetch_array($pobierz); echo($id[0]); echo($dane['avatar_nazwa']); $avatar_gotowy = copy('pix/avatar/temp/'.$dane['avatar_nazwa'], 'pix/avatar/avatar_'.$id[0].$dane['avatar_type']); unlink('/pix/avatar/temp'.$dane['avatar_nazwa']); echo($dane['avatar']); //Pobierz id dla avatarka if($rejestruj) { setcookie('dane', 'null', time() - 3600); setcookie('ukonczone', md5('tak')); unset($dane); header('location: index.php?rejestracja&krok=done'); } else { echo('Napotkano błąd w trakcie przetwarzania zapytania SQL'); } } } Jeśli chcecie zobaczyć tą wersje, wejdźcie na http://misiur.cal.pl i spróbujcie sięzarejestrować uploadując avatar o wielkości mniejszej niż 100x100 i 100kB. Od razu są błędy że nie może pobraż $dane['avatar_nazwa'], i $dane['avatar']. Najgorsze jest to że nie mogę wstawić do BD czy ktoś zauploadował avatar czy nie i mi zwraca coś o integerze, czy jakoś tak. Jeśli ktoś ma chęć się tym zająć udostępnie wszystkie pliki .php. Pozdr |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 15:08 |