Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt dodawania filmów
Forum PHP.pl > Forum > PHP
wint3rkill
Struktura działania systemu. ->
1.logowanie.
2.zakladka moje konto
3.dodanie nowego filmu w formularzu
4.przesłanie formularza do skryptu php
5. obsługa formularza & wysłanie go do bazy danych

Skrypt dodania nowego filmu i obsługi jest gotowy.
Wszystkie dane z formularza są bezbłędnie dodawane do bazy danych.
Teraz tylko chciałbym aby użytkownik wchodząc na stronę mógł zobaczyć ten film,
kliknąć na hiperłącze do tego filmu i aby ten plik z filmem (o adresie np ../film.php?id=200 -> 200 (jako ID filmu)
miał później połączenie z bazą danych bo tego nie potrafie już zrobić (nie mam pomysłu jak..)

reasumując: nie mam pomysłu w jaki sposób dodać do bazy danych nowy plik z filmem (np. film.php?id=200 lub film_200.php), by móc go później obsłużyc (dodawac komentarze, oceniac..)..

huh, czekam na odpowiedzi.. nie mogę dalej tworzyć strony bez tego :/
w razie czego zostawiam GG:8005987

CuteOne
Skoro masz id filmu to co za problem zapisać o nim dane a potem je wyciągnąć z bazy np. link do odtwarzacza?
wint3rkill
spróbuje jutro pokombinować, jeżeli dalej nic nie wymysle to odezwe sie do ciebie jeszcze raz..
suchyMTW
Ja tu problemu nie widzę, zapisujesz w jednej tabeli: id_film, nazwa itp a w drugiej komentarze np: id_komentarza, id_filmu, id_usera i potem za pomocą klauzuli where pobierasz odpowiednie dane np komentarze do filmu o id 200:
SELECT * FROM komentarze WHERE id_filmu='200'
wint3rkill
No nie daje rady :/

Zostawie tutaj kod odpowiedzialny za tworzenie nowej gry. (przerzuciłem się na gry)..
  1. <!-- formularz -->
  2. <form enctype="multipart/form-data" action="?action=complete" method=post>
  3. <div id="dodaj_gre">
  4.  
  5. <h1> Dodaj grę </h1>
  6. <tr>
  7. <td>
  8. <tr><td> Nazwa gry</td><td><input type="text" size="26" name="nazwa_gry"/></td></tr>
  9. <tr><td> Miniatura gry</td><td><input type="file" size="10" name="plik_obrazek" value=""><sub class="ggr">120x90px, max 25kb</sub></td></tr>
  10. <tr><td> Plik gry</td><td><input type="file" size="10" name="plik_gry" value=""><sub class="ggr">.rar, max 500kb</sub></td></tr>
  11. <tr><td> Opis gry</td><td><textarea name="opis_gry" style="resize: none;"> </textarea></td></tr>
  12. <tr><td> </td><td><input type="submit" class="completex" name="complete" value="Dodaj grę"/></td></tr>
  13. </table>
  14. </td>
  15. </tr>
  16. </table>
  17. </form>
  18. <!-- formularz -->



  1. <?php
  2.  
  3.  
  4. if(isset($_POST['complete']))
  5. {
  6.  
  7.  
  8. $f = $_FILES['plik_obrazek'];
  9. $g = $_FILES['plik_gry'];
  10. $rot = $_SERVER['DOCUMENT_ROOT'];
  11. if(isset($f['name']) && isset($g['name']))
  12. {
  13.  
  14. if($f['type'] == 'image/png' or $f['type'] == 'image/jpeg' or $f['type'] == 'image/gif')
  15. {
  16. if($f['size'] < 25000 && $g['size'] < 500000)
  17. {
  18. $losek = rand(1, 1765);
  19. copy($f['tmp_name'], "../pliki/mini/$losek".$f['name']);
  20. copy($g['tmp_name'], "../pliki/download/$losek".$g['name']);
  21. //rename($g['tmp_name'], '../pliki/download/99'.$g['name']);
  22.  
  23. $fxx = "../pliki/mini/$losek". $f['name'];
  24. $gxx = "../pliki/download/$losek". $f['name'];
  25.  
  26.  
  27. } else{ echo "Plik miniatury lub pliku gry jest zbyt wielki.";}
  28. } else echo "Miniatura musi być plikiem obrazkowym!";
  29. }
  30.  
  31. $czas_laczony = date('Y-m-d '). date('G:i:s');
  32. $czas_aktualny = $czas_laczony;
  33.  
  34. $name = htmlspecialchars($_POST['nazwa_gry']);
  35. //$download = htmlspecialchars($_POST['download_gry']);
  36. //$obrazek = htmlspecialchars($_POST['miniaturka_gry']);
  37. $opis = htmlspecialchars($_POST['opis_gry']);
  38.  
  39.  
  40. $zapytanie = "SELECT * FROM identyfikator WHERE id2='1' LIMIT 1";
  41. $wynik = mysql_query($zapytanie);
  42. $rx = mysql_fetch_assoc($wynik);
  43. $plik = $rx['id'] . ".php";
  44. $wzrasta = $rx['id'] + 1;
  45.  
  46. if(empty($name) OR empty($f) OR empty($opis) OR empty($g) OR empty($f))
  47. {
  48. echo "Upewnij się, że wypełniłeś wszystkie pola.";
  49. }
  50. else
  51. {
  52.  
  53.  
  54. /* wazna czesc */ $handle = fopen("../nowyphp.php", "rb");
  55. $contents = stream_get_contents($handle);
  56.  
  57. $tresc = "<?php $aea=3; ?>";
  58.  
  59. $adres3 = "../gra/". $plik;
  60. if($f['size'] > 25000 OR $g['size'] > 500000)
  61. {echo ".";
  62. }else{
  63. $wpp = file_put_contents($adres3, $contents . $tresc); /* wazna czesc koniec */
  64. fclose($handle);
  65. $zapytanie3 = mysql_query("INSERT INTO gra SET nazwa='$name', url='$plik',
  66. data='$czas_aktualny', obrazek_url='$fxx', download='$gxx', opis='$opis', miejsce='poczekalnia'");
  67.  
  68.  
  69.  
  70. $kk = mysql_query("UPDATE identyfikator SET id='$wzrasta' where(id2 like 1)");
  71. if($zapytanie3) echo " Gra została prawidłowo dodana do poczekalni.<br> Jeżeli dostanie się na strone główną to twoje konto wzbogaci się o 10punktów. :)<br>Wszelkie informacje znajdziesz w zakładce ";
  72. adres_url('../moje_konto/', "<i class='linke'>Moje Konto</i>");
  73. }
  74.  
  75.  
  76. }
  77. }
  78. ?>



huh, no nie wiem, wg was jest to proste ale ja nie mogę sobie z tym poradzić. skrypt polega na odebraniu danych z formularza -> przesłaniu ich do php, wczytaniu pliku nowyphp.php w ktorym zapisany jest szablon strony. tylko chcialbym w jakis sposob dolaczyc do tego pliku wartosci z formularza zeby nie byl to zawsze ten sam plik tylko mial swoje unikalne wartosci (nazwa filmu itp).. :/

najważniejszy element kodu który tworzy nowy plik php (z grą) został pogrubiony.. bo nie wiem właśnie jak zrobić ten nowy plik z wartościami, NAZWA, ID, KOMENTARZE, OCENA... ten kawałek kodu wczytuje plik php z szablonem ale bez żadnych dodatkowych wartości, tylko wszystko co jest w nim zapisane zostaje kopiowane :/
drozdii07
Daj to w tagi PHP bo aż oczy bolą..
CuteOne
A w jakim celu zapisujesz nowy plik .php skoro wszystkie dane trzymasz w bazie?
wint3rkill
tak, dane trzymam w bazie ale w jakiś sposób muszę później mieć mozliwosc wejscia na strone z grą przez link.
Chyba ze masz lepszy sposób? Bo to sie zgadza, mam wszystkie dane w bazie tylko teraz nie wiem jak je "wypluć" żeby póxniej mozna bylo przejsc do strony z tą konkretną grą.
CuteOne
Unikalny skrypt dla wyświetlania WSZYSTKICH gier:

  1.  
  2. $game_id = !empty($_GET['game']) ? $_GET['game'] : 1;
  3. // pamiętaj o sprawdzeniu $game_id czy jest liczbą
  4.  
  5. $select = mysql_query("SELECT * FROM games WHERE game_id = {$game_id}");
  6. $row = mysql_fetch_assoc($select);
  7.  
  8. echo 'Nazwa gry:'.$row['game_name'];
  9.  


Link do skryptu to np. http:// www. games.pl/showgame.php?game=12
wint3rkill
Zrobiłem coś takiego

w pliku plikphp.php

wkleiłem kod
  1. <?php echo "$nazwa_gry" ; ?>

który dopowiedzialny jest za wyświetlenie wartości zmiennej - jako nazwa gry.

a w pliku dodającym gre (dodaj_gre.php) coś takiego
  1. $tresc = '<?php $nazwa_gry ' . "='$name';" .'?>';

zmienna $tresc przekazuje do nowego pliku z grą wartosc $name czyli nazwe gry

co w efekcie koncowym wyswietla nazwe gry w nowym pliku php, z grą smile.gif
także to mam za soba 'tak na próbe' bo oficjalne wezmę się teraz do pobierania wszystkich elementów z tablic bazy danych za pomocą klucza gry (ID_GRY) smile.gif pozdrawiam.
Pomógł - oczywiście leci w waszą stronę smile.gif
CuteOne
I dla każdej gry będziesz tworzył oddzielny plik?? poczytaj o szablonach i modułach - zaoszczędzi ci to kupę czasu i nerwów w przyszłości smile.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.