Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php + SQL] Prosty download
matyskiewicz
post
Post #1





Grupa: Zarejestrowani
Postów: 184
Pomógł: 3
Dołączył: 6.10.2006
Skąd: Poznań

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


Przeszukując internet znalazłem oto taki prosty skrypt downloadu, lecz niestety go nie uruchomiłem proszę, o pomoc w uruchomieniu:
  1. <?
  2. $polacz = mysql_connect ("host", "login", "haslo") or die (mysql_error());
  3. mysql_select_db ("baza", $polacz) or die (mysql_error());
  4. $pliki = mysql_query("SELECT * FROM download");
  5. while ($dane = mysql_fetch_array($pliki)) {
  6. $nazwa = $dane[nazwa];
  7. $licznik = $dane[licznik];
  8. $plik = $dane[plik];
  9. print "Nazwa pliku: $nazwa";
  10. print "<A HREF=index.php?id=download&plik=$plik>Sciagnij</A>";
  11. print "Pobrano: $licznik";
  12.  }
  13. if($plik > 0) {
  14. $polacz = mysql_connect ("host", "login", "haslo") or die (mysql_error());
  15. mysql_select_db ("baza", $polacz) or die (mysql_error()); 
  16. $query = "SELECT * FROM download WHERE plik = '$plik';";
  17. $wynik = mysql_query ($query); 
  18.  $dane = mysql_fetch_array ($wynik);
  19.  $licznik = $dane[licznik];
  20.  $url = $dane[url];
  21. header("location: $url");
  22. $query = "UPDATE download SET licznik = licznik+1 WHERE plik='$plik';"; 
  23. $wynik = mysql_query ($query); // wykonuje powyższa linijkę kodu
  24.  return $licznik+1;
  25. } else { 
  26. echo "Błędny link lub brak pliku!";
  27. }
  28. ?>

  1. CREATE TABLE `download` (
  2. `plik` TINYINT NOT NULL AUTO_INCREMENT,
  3. `url` TEXT NOT NULL ,
  4. `nazwa` TEXT NOT NULL ,
  5. `licznik` TEXT NOT NULL ,
  6. UNIQUE (
  7. `plik`
  8. )
  9. );

Rodzaj blędu: część tabeli po ktorej następuje ten skrypt nie otwiera się
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Jaka tabela się nie otwiera?
Sorry, ale po tym kawałku kodu niewiele można wywnioskować (mam na myśli te zmienne pod koniec if)...
Go to the top of the page
+Quote Post
matyskiewicz
post
Post #3





Grupa: Zarejestrowani
Postów: 184
Pomógł: 3
Dołączył: 6.10.2006
Skąd: Poznań

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


Cytat(erix @ 12.10.2006, 20:13:20 ) *
Jaka tabela się nie otwiera?
Sorry, ale po tym kawałku kodu niewiele można wywnioskować (mam na myśli te zmienne pod koniec if)...

Moja strona
  1. <?php
  2. if($plik > 0) {
  3. $polacz = mysql_connect ("host", "login", "haslo") or die (mysql_error());
  4. mysql_select_db ("baza", $polacz) or die (mysql_error()); 
  5. $query = "SELECT * FROM download WHERE plik = '$plik';";
  6. $wynik = mysql_query ($query); 
  7.  $dane = mysql_fetch_array ($wynik);
  8.  $licznik = $dane[licznik];
  9.  $url = $dane[url];
  10. header("location: $url");
  11. $query = "UPDATE download SET licznik = licznik+1 WHERE plik='$plik';"; 
  12. $wynik = mysql_query ($query); // wykonuje powyższa linijkę kodu
  13.  return $licznik+1;
  14. } else { 
  15. echo "Błędny link lub brak pliku!";
  16. }
  17. ?>
ma zliczać kliknięcia
  1. <?php
  2. if (($_GET['id'] == '') || ($id == "index")) {
  3.  include 'news.php';  
  4.  } elseif ($_GET['id'] == 'archiwumi') {
  5.  include 'archiwum.php';
  6.  }
  7. ?>
a tym, wywołuje strony

Ten post edytował matyskiewicz 12.10.2006, 19:42:21
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
  1. <?php
  2. header("location: $url");
  3. $query = "UPDATE download SET licznik = licznik+1 WHERE plik='$plik';"; 
  4. $wynik = mysql_query ($query); // wykonuje powyższa linijkę kodu
  5. ?>

Może dobrze zrozumiałem.

Umieść header(... po mysql_query.
Go to the top of the page
+Quote Post
uli
post
Post #5





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

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


Cytat(matyskiewicz @ 12.10.2006, 18:41:45 ) *
  1. <?php
  2. ...
  3.  $dane = mysql_fetch_array ($wynik);
  4.  $licznik = $dane[licznik];
  5. ...
  6. $query = "UPDATE download SET licznik = licznik+1 WHERE plik='$plik';"; 
  7. ...
  8. ?>


A nie powinno być tak?

  1. <?php
  2. $licznik = $dane[licznik];
  3. ...
  4. $query = "UPDATE download SET licznik = $licznik+1 WHERE plik='$plik'";
  5. ?>


Nie jestem pewien czy do pola można dodać pole+1 tym bardziej że masz zdefiniowane pole licznik jako text.

Ten post edytował uli 13.10.2006, 08:05:15
Go to the top of the page
+Quote Post
matyskiewicz
post
Post #6





Grupa: Zarejestrowani
Postów: 184
Pomógł: 3
Dołączył: 6.10.2006
Skąd: Poznań

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


Niestety nie ma zmiany. uli wydaje mni się ze
  1. <?php
  2. $licznik+1
  3. ?>
ta zmenna wczytuje obecny stan licznika, a nast ępnie dodaje do niego 1 i zapisuje w bazie.
  1. <?php
  2. plik='$plik';";
  3. ?>
zastanawia mnie ten zapis: czy nie powinien byc tylko ten ostatni srednik?
ULI:
<?php
$licznik = $dane[licznik];
...
$query = "UPDATE download SET licznik = $licznik+1 WHERE plik='$plik'";
?>To w takim razie gdzie mam umiescic zmienna dane?

A co powiecie na to:
  1. <?php
  2. $query = "SELECT * FROM download WHERE plik = '$plik'";
  3. $wynik = mysql_query ($query); 
  4. $dane = mysql_fetch_array ($wynik);
  5. $licznik = $dane[licznik];
  6. $url = $dane[url];
  7. ?>

  1. <?php
  2. $query = "UPDATE download SET licznik = licznik+1 WHERE plik='$plik'"; 
  3. $wynik = mysql_query ($query);
  4. header("location: $url");
  5.  return $licznik+1;
  6. } else { 
  7. echo "Błędny link lub brak pliku!";
  8. }
  9. ?>
W jednej funkcji są 2 takie same zmienen o róznych wartosciasch

Chętnie przyjme modyfikacje powyższego skryptu wg Waszych sugesti

Ten post edytował matyskiewicz 13.10.2006, 21:44:56
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 20:53