[php]jak zrobić zakładanie profilu z avatarem


(batmomobil) #1

Chciałbym zrobić zakładanie profilu z avatarem.Mam system logowania,jak to połączyć:

<?php include("config.php");

$nick = $_SESSION['nick'];

$haslo = $_SESSION['haslo'];

$q = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM `uzytkownicy` WHERE `nick` = '$nick' AND `haslo` = '$haslo'"));																																																																	

if (empty($nick) OR empty($haslo) OR $q[0] == 0) {

echo '
.';

} else {

$_SESSION['nick'] = '';

$_SESSION['haslo'] = '';

session_destroy(); // tak na wszelki wypadek

echo '
.'; } ?>[/code]

.Tabelę w bazie mam taką:id,nick,hasło,email,ip,dodatkowo stworzyłem pola:avatar,ksywa.Jakie pola jeszcze stworzyć.Czy po zalogowaniu trzeba stworzyć formularze i jakie.


(Marcins2009) #2

Na pewno nikt z ciebie tego nie zrobi. Mogę jedynie pomóc.

- formularz :

http://www.kurshtml.boo.pl/html/formularze.html

- dodanie do bazy danych:

http://webmade.org/kursy-online/dodawanie-rekordow-sql-kurs-mysql.php

+ edycja

http://webmade.org/kursy-online/aktualizacja-rekordow-update-sql-kurs-mysql.php

- avatar:

Avatar musi być wgrany jakoś na serwer przez użytkownika więc :

http://www.kess.snug.pl/?sid=10&pid=38

Jeśli znasz podstawy PHP/HTML to z tego możesz osiągnąć zamierzony cel.


(Marcin E Pc) #3

Jeżeli znasz podstawy, to możesz to łatwo rozwiązać.

Dodajesz to tabeli uzytkownicy pole avatar, i tam zapisujesz nazwę pliku z avatarem danego użytkowanika. Ewentualnie tworzysz nową tabelę np. avatary i do niej zapisujesz id użytkownika i adres obrazak, który w jakiś sposób przechwyciłeś/obrobiłeś/sprawdziłeś czy rozmiary sie zgadzają.

Jeszcze kolejnym rozwiązaniem jest napisanie skryptu przechwytującego obrazki, i zapisującego w jakimś katalogu. np: użytkownicy, przy czym nadajesz taką samą nazwę, jak nazwa użytkownika (lub. id czy inne pole które przechowujesz w sesji). Następnie odczytujesz plik, sprawdzasz poprzez if czy plik istnieje, jeżeli nie istnieje to wyświetlasz jakiś przykładowy obrazek zamiast avataraa jeżeli istnieje to go wyświetlasz (takie rozwiązanie przykładowe beż db).

Pozdrawiam

PS. Mógłbyś stosować wcięcia, zawsze to łatwiej później na forum się czyta, i są większe chęci do pomocy.


(batmomobil) #4

czy ktoś mi pomoże poprawić scryptyplik wyślij:

<?php

if(isset($_GET['plik']) && $_GET['plik']=='dodajopis')

{

	require 'db.php';

	if(!empty($_POST['opis']))

	{ $nazwa=$_POST['ksywa']; $nazwisko=$_POST['nazwisko'];

		$opis=$_POST['opis'];

	}

	else

	{

		$opis='Brak opisu';

	}

	if(empty($nazwa) ||(empty($nazwisko) || empty($opis))

	{

		echo "Musisz wypełnić wszystkie pola";

		exit;

	}

	$query="SELECT id,nick, link_avatar FROM uzytkownicy ORDER BY id DESC LIMIT 1";

	$wynik = mysql_query($query) or die(mysql_error());

	if(!$wynik)

	{

		echo "Zapytanie nieudane. Nie można pobrać avatar. " . mysqli_error();

	}

	else

	{

		$row = mysql_fetch_object($wynik);

		$nick = $row->nick;																																																																																																																								

		$path_file = $row->link_avatar;

		$sql = "UPDATE uzytkownicy SET link_avatar='$link', ksywa='$nazwa',nazwisko='$nazwisko', opis='$opis' WHERE nick='$nick";

		$zapytanie = mysql_query($sql);

		if(!$zapytanie)

		{

			echo "Wykonanie zapytania zawiodło. Nie można dodać informacji o profilu. " . mysqli_error();

		}

		else

		{

			echo "Udało się uzupelnic profil.Imie: ".$nazwa."Nzawisko:".$nazwisko."Opis: ".$opis."";

			echo ''; echo 'zobacz profil';

		}

	}

}[/code]
wysyła zdjęcie ale nie dodaje opisów(imię ,nazwisko)błąd w if-ie pokazuje wypełnij wszystkie pola.Pozatym scrypt dodaje avatara jako newego usera,a ma dodawać do isniejącego już usera.Pola w tabeli uzytkownicy mam takie:id,link_avatar,czas_profilu,nick,haslo,email,ip,nazwisko,ksywa,opis. Natomiast plik login wraz z odczytem z bazy:

[code]<?php session_start(); include("config.php"); $login = $_POST['login']; $haslo = $_POST['haslo']; $haslo = addslashes($haslo); $login = addslashes($login); $login = htmlspecialchars($login); if ($_GET['login'] != '') { //jezeli ktos przez adres probuje kombinowac exit; } if ($_GET['haslo'] != '') { //jezeli ktos przez adres probuje kombinowac exit; } $haslo = md5($haslo); //szyfrowanie hasla if (!$login OR empty($login)) { include("head2.php"); echo ' Wypełnij pole z loginem!'; include("foot.php"); exit; } if (!$haslo OR empty($haslo)) { include("head2.php"); echo ' Wypełnij pole z hasłem!'; include("foot.php"); exit; } $istnick = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM uzytkownicy WHERE nick = '$login' AND haslo = '$haslo'")); // sprawdzenie czy istnieje uzytkownik o takim nicku i hasle if ($istnick[0] == 0) { echo 'Logowanie nieudane. Sprawdź pisownię nicku oraz hasła.'; } else { $_SESSION['nick'] = $login; $_SESSION['haslo'] = $haslo; if ((empty($nick)) AND (empty($haslo))) { echo ' Nie byłeś zalogowany albo zostałeś wylogowanyStrona Główna'; exit; } $user = mysql_fetch_array(mysql_query("SELECT * FROM uzytkownicy WHERE nick='$login' AND haslo='$haslo' LIMIT 1")); if (empty($user[id]) OR !isset($user[id])) { echo ' Nieprawidłowe logowanie. '; exit; } // tresc dla zalogowanego uzytkownika echo 'Witaj '.$user[nick].''; echo 'Wyloguj mnie'; echo 'Dodaj tapete'; } $zapytanie = "SELECT id,nick,ksywa,nazwisko,link_avatar,czas_profilu,opis,emailFROMuzytkownicy"; $result = mysql_query($zapytanie) or die(mysql_error($mysqli)); echo "
- "; while ($row = mysql_fetch_row($result)) { $id = $row->id; $nick=$row->nick; $nazwa = $row->ksywa; $nazwisko = $row->nazwisko; $opis = $row->opis; $link = $row->link_avatar; $czas_profilu=$row->czas_profilu; echo "
- $nick

Imie:$nazwa

Nazisko:$nazwisko

$title
- zwin/rozwin $opis \n"; } echo "
"; ?

Uzupelnij profil dodaj avatar/zdjecie profilu