Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Upload bannerów z wpisem do bazy
wyrdhamster
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 1.12.2009

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


Mam zlepiony i ogarnięty skrypt w PHP do uploadu plików:

*Formularz:
  1. <form enctype="multipart/form-data" action="bannersadd.php" method="POST">
  2. <input type="hidden" name="MAX_FILE_SIZE" value="500000000000" /> <input
  3. name="plik" type="file" /> <input type="submit" value="Wyślij plik" />
  4. </form>


*Skrypt:
  1. <?php
  2. // podłączamy plik connection.php
  3. require "connection.php";
  4. // wywołujemy funkcję connection()
  5. connection();
  6.  
  7. $path = $_SERVER['DOCUMENT_ROOT'];
  8. $sciezka = 'psw'; // można wywalić później
  9. $katalog = $path.'/'.$sciezka.'/banners';
  10. $plik_tmp = $_FILES['plik']['tmp_name'];
  11. $plik_nazwa = $_FILES['plik']['name'];
  12. $plik_rozmiar = $_FILES['plik']['size'];
  13.  
  14.  
  15. if(is_uploaded_file($plik_tmp)) {
  16. move_uploaded_file($plik_tmp, $katalog);
  17. echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze
  18. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
  19. }
  20.  
  21. if(isset($_POST['submit'])) {
  22. $zapytanie = "INSERT INTO banners ( filename ) VALUES ('$plik_nazwa')";
  23. mysql_query($zapytanie) or die(mysql_error());
  24. print("<h1>Dane zostały dodane<br />");
  25. }
  26. ?>


Od dwóch dni się z nim gryze i nie mam pojęcia co jest nie tak. (IMG:style_emoticons/default/sciana.gif)

Formularz działa, pobiera plik, ale skrypt wrzucający na serwer już nie, i wywala takie o to komunikaty:

Warning: move_uploaded_file(/home/klient.dhosting.pl/adkl/psw/banners) [function.move-uploaded-file]: failed to open stream: Is a directory in /home/klient.dhosting.pl/adkl/psw/bannersadd.php on line 21

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/home/klient.dhosting.pl/adkl/.tmp/phpNSNMEH' to '/home/klient.dhosting.pl/adkl/psw/banners' in /home/klient.dhosting.pl/adkl/psw/bannersadd.php on line 21

Plik: przód.jpg o rozmiarze 25726 bajtów został przesłany na serwer!


Czy ktoś może mi powiedzieć co tu może być nie tak?

Ten post edytował wyrdhamster 2.12.2009, 22:13:56
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wyrdhamster
post
Post #2





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 1.12.2009

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


Ten skrypt, wyświetlający newsy z bazy...
  1. <?php
  2. include "connection.php";
  3. connection();
  4. $sqlcount = "SELECT COUNT(id_news) ile FROM news";
  5. $resultcount = mysql_query ($sqlcount,$conn) or die(mysql_error());
  6. $rowcount = mysql_fetch_array($resultcount);
  7. $count = $rowcount["ile"];
  8. $l2 = 10;
  9. if (isset($_GET["l1"])){
  10. $l1 = $_GET["l1"];
  11. }
  12. else {
  13. $l1 = 0;
  14. }
  15. $sql = "SELECT news_name, user_name, date, n.info info
  16. FROM news n JOIN users u ON n.user_id = u.id_user
  17. ORDER BY date DESC
  18. LIMIT ".$l1.", ".$l2;
  19. $result = mysql_query ($sql,$conn) or die(mysql_error());
  20. $cont = "";
  21. while ($row = mysql_fetch_array($result)) {
  22. $cont .= "<div class='news'><h3>";
  23. $cont .= $row["news_name"];
  24. $cont .= "</h3><div><span class='user'>";
  25. $cont .= $row["user_name"];
  26. $cont .= "</span><span class='date'>";
  27. $cont .= $row["date"];
  28. $cont .= "</span></div><div class='info'>";
  29. $cont .= $row["info"];
  30. $cont .= "</div></div>";
  31. }
  32. echo $cont;
  33. if (($l1+10) < $count){
  34. echo "<a href='news.php?l1=".($l1+10)."'>zobacz wcześniejsze... </a>";
  35. }
  36. if ($l1 > $count){
  37. echo "<a href='news.php?l1=".($l1-10)."'>zobacz późniejsze... </a>";
  38. }
  39.  
  40. ?>


Generuje tylko takie ostrzeżenie:

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/klient.dhosting.pl/adkl/psw/news.php on line 5

Może rzeczywiście coś jest nie tak z połączeniem z bazą, z connection.php?

Cytat
  1. <?php
  2. function lacz_bd() {
  3. $wynik = new mysqli('localhost', 'root', '' , 'test2');
  4. if (!$wynik) {
  5. throw new Exception('Połączenie z serwerem bazy danych nie powiodło się');
  6. } else {
  7. return $wynik;
  8. }
  9. }
  10.  
  11. ?>


Zakładając że miało być w kodzie mysqli('<serwer>', '<user>', '<hasło>' , '<baza>'), to nadal nie chodzi to połaczenia. Teraz dowala jeszcze taki błąd:

Warning: mysqli::mysqli() [mysqli.mysqli]: (HY000/2003): Can't connect to MySQL server on 'air.dhosting.pl' (111) in /home/klient.dhosting.pl/adkl/psw/connection.php on line 26

(Taki duzy numer linii, bo wcześniejszą funkcje za komentowałem, i wkleiłem twoją, onkel. )
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 12:31