Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
[mysql]przypisanie wartosci bazy do uzytkownika - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: [mysql]przypisanie wartosci bazy do uzytkownika (/thread-mysql-przypisanie-wartosci-bazy-do-uzytkownika)

Strony: 1 2


[mysql]przypisanie wartosci bazy do uzytkownika - begginer - 08-02-2011

Czesc
niedawno zaczalem swoja przygode z mysql i pojawil sie problem.
chodzi o to ze np. uzytkownik uploaduje zdjecie do galeri.
uzytkownik jest zarejestrowany,do logowania i rejestracji jest specjalna tabela w bazie,oraz oddzielna przeznaczona do informacji o galerii.
jak teraz to wszystko powiazac tak abym mogl przy fotce ktora wrzucil ten user,wyswietlic informacje ze to wlasnie on ja wrzucil na strone?
mam nadzieje ze zrozumiecie o co chodzi.
Prosze o pomoc bo to jest moj jak narazie jedyny problem,a z tego co szukalem,nic zrozumialego nie wyczytalem
pozdro


RE: [mysql]przypisanie wartosci bazy do uzytkownika - DoGeR - 08-02-2011

W tabeli za galerią zapewne masz kolumnę z id usera, po prostu pobierasz z tabeli użytkowników dane usera o id pasującym do pliku z galerii.


RE: [mysql]przypisanie wartosci bazy do uzytkownika - begginer - 08-02-2011

Dzieki za zainteresowanie
Moglbym prosic o przykladowy fragment kodu? Dopiero sie ucze,a na przykladach lepiej to rozumiem Smile
Pobieram id uzytkownika pasujace do zdjecia,ale jaki kod mam dodac do funkcji uploadu,aby zapisywal w bazie odpowiednie dane?


RE: [mysql]przypisanie wartosci bazy do uzytkownika - DoGeR - 08-02-2011

Jeżeli chcesz dopisać do usera to jest on pewnie zalogowany a w jakiejś zmiennej przechowujesz jego id, no to cóż prostszego?
Musisz edytować tabelę i dodać tam pole np. user_id, a potem tylko insert into i dodajesz dodatkową zmienną Smile


RE: [mysql]przypisanie wartosci bazy do uzytkownika - begginer - 08-02-2011

Ok.Dzieki
Sprobuje tak jak mowisz.
Pozniej pokaze kod jak to poskladamSmile


RE: [mysql]przypisanie wartosci bazy do uzytkownika - begginer - 08-02-2011

Tyle kodu udalo mi sie posklejac. Wiem ze na 100% sa bledy,ale jak mam juz cos napisane to latwiej bedziecie mieli napisac co robie zle. Dziekuje za wszystkie odpowiedzi
Smile

Tabele w mojej bazie danych:

Kod:
Struktura tabeli dla  `galeria`

CREATE TABLE IF NOT EXISTS `galeria` (
  `id_usera` int(11) NOT NULL auto_increment,
  `image_name` varchar(200) NOT NULL,
  PRIMARY KEY  (`id_usera`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


-- Struktura tabeli dla  `rejestracja`


CREATE TABLE IF NOT EXISTS `rejestracja` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `imie` varchar(100) collate latin1_general_cs NOT NULL,
  `nazwisko` varchar(100) collate latin1_general_cs NOT NULL,
  `login` varchar(30) collate latin1_general_cs NOT NULL,
  `haslo` varchar(50) collate latin1_general_cs NOT NULL,
  `email` varchar(100) collate latin1_general_cs NOT NULL,
   `data` datetime NOT NULL,
  `gg` varchar(12) collate latin1_general_cs NOT NULL,
  `adres` varchar(30) collate latin1_general_cs NOT NULL,
  `hobby` varchar(120) collate latin1_general_cs NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs AUTO_INCREMENT=2 ;

Tutaj jest zawartosc pliku php

Kod:
<?php
//rozpoczynamy sesje
ob_start();
session_start();
//teraz importujemy plik z dostepem do bazy danych i tworzymy zmienna ktora jest przypisana do wybranej tabeli
include 'includes/database.php';
    $table = 'galeria';
    //tworzymy formularz wysylania pliku
    echo <<<formularz
<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="50000" />
<input name="plik" type="file" />
<input type="submit" value="Dodaj plik" />
</form>
formularz;

        

$plik = $_FILES['plik']['tmp_name'];
$nazwa = $_FILES['plik']['name'];
$plik_rozmiar = $_FILES['plik']['size'];

if(is_uploaded_file($plik)) {
    $wyslij = move_uploaded_file($plik, "images/$nazwa");
   $wyslij = mysql_query("INSERT INTO galeria VALUES('', '.$nazwa.', NOW(), '')WHERE login='{$_SESSION['login']}'");
if ($wyslij) {
echo 'Zdjecie zostalo wyslane';
}else{
echo ' Wystapil blad';}

}
    
    
    
//odczytujemy kto jest autorem
$autor = mysql_query("SELECT * FROM $table WHERE id_usera='{$_SESSION['login']}'");
?>



RE: [mysql]przypisanie wartosci bazy do uzytkownika - DoGeR - 09-02-2011

W tabeli galeria masz tylko 2 pola, a chcesz do niej wrzucić 4 informacje:
Kod:
$wyslij = mysql_query("INSERT INTO galeria VALUES('', '.$nazwa.', NOW(), '')WHERE login='{$_SESSION['login']}'");[code/]

powinno być
[code]$wyslij = mysql_query("INSERT INTO galeria VALUES($_SESSION['login'], '.$nazwa.'");



RE: [mysql]przypisanie wartosci bazy do uzytkownika - begginer - 09-02-2011

Zmienile to co napisales ale wtedy wyskakuje blad:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /xxx/xxx/www/upload.php on line 94

Po usunieciu $_SESSION['login'] z lini
$wyslij = mysql_query("INSERT INTO galeria VALUES($_SESSION['login'], '.$nazwa.'");
strona sie normalnie wczytuje,ale nie dodaje nic do bazy ;/


RE: [mysql]przypisanie wartosci bazy do uzytkownika - DoGeR - 10-02-2011

Mam nadzieję że w $_SESSION['login'] przetrzymujesz id usera a nie jego login Tongue Wygląda na to że zmienna session[login] jest pusta?


RE: [mysql]przypisanie wartosci bazy do uzytkownika - begginer - 10-02-2011

dla sesji mam przypisane
session_register("login");
to o to chodzi?