Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][CSS][PHP]Dodawanie "Postów" na własną stronę
Saldenford
post 12.02.2015, 18:22:49
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 25.01.2015

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


Witajcie, sprawa wygląda tak. Chcę aby przez podstronę x.php (przykład) można było dodawać na index.html tak jakby post. Chodzi mi o to, żeby na x.php był formularz, składający się z 4 okienek. W każde okienko ma wejść tekst. I tak, tekst z pierwszego okienka chcę aby był wrzucany na index.html jako
Kod
<div class="title">TEKST Z 1 OKIENKA</div>

, z 2 jako
Kod
<div class="metadata">Teskt z 2 okienka</div>

, w 3 ma byc link do obrazka więc chcę aby wyglądało to mniej więcej
Kod
<div class="image">
<center><img src="Link do obrazka, czyli tekst z okienka 3" /></center>
</div>

, z 4 tak samo jak z 2.
Zdaję sobie sprawę, że proszę o dużo, ale wiem również że 90% użytkowników tego forum robi takie żeczy dla sportu a chciałbym zrozumieć jak to działa. Proszę o pomoc smile.gif



Go to the top of the page
+Quote Post
b4rt3kk
post 12.02.2015, 21:45:45
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Brakuje w tym poście pytania i dosyć nieprecyzyjnie to opisałeś.

Prawdopodobnie chcesz użyć bazy danych do przechowywania tych wartości? Więc skrypt x.php odczytuje dane z form i zapisuje wartości do bazy, natomiast index.php je zwyczajnie odczytuje. Koniec filozofii.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
robertpiaty
post 12.02.2015, 22:06:36
Post #3





Grupa: Zarejestrowani
Postów: 113
Pomógł: 18
Dołączył: 7.10.2007
Skąd: Pruszków

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


W pliku .html nie użyjesz PHP więc nie odczytasz w nim wartości z bazy. Chyba że używasz mod_rewrite i to co widzimy w linku nie oznacza że jest odpowiednikiem pliku na serwerze smile.gif

Ten post edytował robertpiaty 12.02.2015, 22:07:18


--------------------
Go to the top of the page
+Quote Post
Saldenford
post 12.02.2015, 22:17:12
Post #4





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 25.01.2015

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


@b4rt3kk dokładnie czegoś takiego potrzebuję.
Go to the top of the page
+Quote Post
b4rt3kk
post 13.02.2015, 00:43:43
Post #5





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(Saldenford @ 12.02.2015, 22:17:12 ) *
@b4rt3kk dokładnie czegoś takiego potrzebuję.


No to jak już znamy problem to pokaż jakiś kod php, który do tej pory stworzyłeś. Bez tego ani rusz.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
Saldenford
post 13.02.2015, 09:59:26
Post #6





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 25.01.2015

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


Więc tak jest sobie to x.php gdzie chcę mieć ten formularz
  1. <?php include("config.php");
  2. $nick = $_SESSION['nick'];
  3. $haslo = $_SESSION['haslo'];
  4. if ((empty($nick)) AND (empty($haslo))) {
  5. echo '<br>Nie byłeś zalogowany albo zostałeś wylogowany<br><a href="index.php">Strona Główna</a><br>';
  6. }
  7. $user = mysql_fetch_array(mysql_query("SELECT * FROM uzytkownicy WHERE `nick`='$nick' AND `haslo`='$haslo' LIMIT 1"));
  8. if (empty($user[id]) OR !isset($user[id])) {
  9. echo '<br>Nieprawidłowe logowanie.<br>';
  10. }
  11. // tresc dla zalogowanego uzytkownika
  12.  
  13.  
  14. ?>
  15.  
  16. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  17. <html>
  18. <head>
  19. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2"/>
  20. <link rel="stylesheet" type="text/css" href="default.css" media="screen"/>
  21. <link rel="icon" type="image/png" href="img/favicon.ico"/>
  22. <title></title>
  23. </head>
  24. <body>
  25. <div class="container">
  26. <div class="gfx"><span></span></div>
  27. <div class="top">
  28. <br />
  29. <br />
  30. <br />
  31. <div class="navigation"> <a href="index.html">Główna</a> <a href="archiwum.html">Archiwum</a> <a href="Ud.php">Upload</a> <a href="logowanie.php" id="selected">Logowanie</a></div>
  32. <div class="header">
  33. <h1></h1>
  34. <p></p>
  35. </div>
  36. <div class="pattern"><span></span></div>
  37. </div>
  38. <div class="content">
  39. <div class="spacer"></div>
  40. <div class="item">
  41. ############FORMULARZ DO DODAWANIA##############
  42. <div class="title">Statystyki</div>
  43. <button onclick="location='wyloguj.php'" style="width: 119px; height: 29px">Wyloguj</button>
  44. <br />
  45. <br />
  46. <br />
  47. <br />
  48. <br />
  49. <br />
  50. </div>
  51. </div>
  52. </div>
  53. <div class="footer"><p><pre> </pre></p></div>
  54. </div>
  55. </body>
  56. </html>


i jest sobie index.html, oczywiscie jezeli trzeba zamienie go php
  1. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2"/>
  2. <link rel="stylesheet" type="text/css" href="default.css" media="screen"/>
  3. <link rel="icon" type="image/png" href="img/favicon.ico"/>
  4. </head>
  5. <div class="container">
  6. <div class="gfx"><span></span></div>
  7. <div class="top">
  8. <br />
  9. <br />
  10. <br />
  11. <div class="navigation"> <a href="index.html" id="selected">Główna</a> <a href="archiwum.html">Archiwum</a> <a href="Ud.php">Upload</a> <a href="logowanie.php">Logowanie</a></div>
  12. <div class="header">
  13. <h1></h1>
  14. <p></p>
  15. </div>
  16. <div class="pattern"><span></span></div>
  17. </div>
  18. <div class="content">
  19. <div class="spacer"></div>
  20. <div class="item">
  21. ###############W TO MIEJSCE MAJA WCHODZIC DANE Z FORMULARZA#############33
  22. <div class="divider"></div>
  23. <br />
  24. <br />
  25. <br />
  26. <br />
  27. <br />
  28. <br />
  29. </div>
  30. </div>
  31. </div>
  32. <div class="footer"><p><pre> </pre></p></div>
  33. </div>
  34. </body>
  35. </html>
Go to the top of the page
+Quote Post
Raito
post 13.02.2015, 10:06:22
Post #7





Grupa: Zarejestrowani
Postów: 156
Pomógł: 19
Dołączył: 27.04.2014

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


Tworzysz sobie w pliku x.php formularz, jeśli dane są wysłane i są poprawne to zapisujesz do bazy danych. W pliku index.php sprawdzasz, czy w bazie istnieją jakiekolwiek rekordy, które chcesz wyświetlić, jeśli tak, to w pętli je wyświetlasz.
Go to the top of the page
+Quote Post
Saldenford
post 13.02.2015, 10:09:51
Post #8





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 25.01.2015

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


To jak ma działać, to wiem. Potrzebuję kodu do tego bo nie jestem na razie w stanie samemu tego wymyślić.
Go to the top of the page
+Quote Post
Raito
post 13.02.2015, 10:16:32
Post #9





Grupa: Zarejestrowani
Postów: 156
Pomógł: 19
Dołączył: 27.04.2014

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


Nikt ci tutaj całego gotowego kodu nie da, jeśli na tym ci zależy to polecam temat gotowe rozwiązania, ale musisz tam przygotować trochę $$$. Poczytaj o formularzach w php, pdo lub mysqli, dodawaniu do bazy danych, odbieraniu, bindowaniu, itp. lub weź gotowca z internetu.
Go to the top of the page
+Quote Post
Saldenford
post 13.02.2015, 16:31:42
Post #10





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 25.01.2015

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


Nie nie chodzi mi o gotowca, zrobilem "wrzucanie" potrzebych mi danych na serwer.
Wygląda to tak.

To jest tabela która znajduje się w bazie danych
  1. CREATE TABLE `posty` (
  2. `id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
  3. `tytul` VARCHAR( 32 ) NOT NULL ,
  4. `nick` VARCHAR( 40 ) NOT NULL ,
  5. `link` VARCHAR( 200 ) NOT NULL ,
  6. PRIMARY KEY ( `id` )
  7. );


Tutaj dodaję informacje do formularzy i wysyłam je do bazy
  1. <?php include("configpost.php");
  2.  
  3. $ip = $_SERVER['REMOTE_ADDR'];
  4.  
  5. $akcja = $_GET['akcja'];
  6. if ($akcja == wykonaj) {
  7. //
  8. $link = substr(addslashes(htmlspecialchars($_POST['link'])),0,32);
  9. $tytul = substr(addslashes(htmlspecialchars($_POST['tytul'])),0,32);
  10. $nick = substr(addslashes(htmlspecialchars($_POST['nick'])),0,32);
  11. //kilka sprawdzen co do nicku i maila
  12. $komunikaty = '';
  13. //sprawdzenie co uzytkownik zle zrobil
  14. if($_POST['link'] = null && $_POST['tytul'] = null && $_POST['nick'] = null) {
  15. $komunikaty .= "Musisz wypełnić wszystkie pola!<br>"; }
  16. //jesli cos jest nie tak to blokuje rejestracje i wyswietla bledy
  17. if ($komunikaty) {
  18. <b>Rejestracja nie powiodła się, popraw następujące błędy:</b><br>
  19. '.$komunikaty.'<br>';
  20. } else {
  21. //jesli wszystko jest ok dodaje uzytkownika i wyswietla informacje
  22. mysql_query("INSERT INTO `posty` (tytul, nick, link) VALUES('$tytul','$nick','$link')") or die("Nie mogłem Cie zarejestrować!");
  23. echo 'Post zostal dodany!';
  24. }
  25. }
  26. ?>
  27.  
  28. <form method="post" action="upload.php?akcja=wykonaj">
  29. <table>
  30. <tr class="tlo-b"><td>Tytul:</td>
  31. <td><input maxlength="18" type="text" name="tytul" value="<?=$tytul?>"></td></tr>
  32. <tr class="tlo-b"><td>Nick:</td>
  33. <td><input type="text" name="nick" maxlength="50" value="<?=$nick?>"></td></tr>
  34. <tr class="tl0-b"><td>Link:</td>
  35. <td><input type="text" maxlength="200" name="link" value="<?=$link?>"></span></td></tr>
  36.  
  37.  
  38. <tr><td colspan="2" align="center"><input type="submit" value="Wyslij"></td></tr>
  39. </table></form>


Więc po dodaniu Nicku:Nick, Tytułu: Tytuł i Linku:Link wygląda to tak

id tytul nick link
1 Tytuł Nick Link

i teraz zaczynają się schody czyli dodanie tych informacji z bazy danych do indexu w takiej formie jak pisalem w 1 poscie.

Go to the top of the page
+Quote Post
Raito
post 13.02.2015, 16:46:56
Post #11





Grupa: Zarejestrowani
Postów: 156
Pomógł: 19
Dołączył: 27.04.2014

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


Jaki problem? W wybranym miejscu dajesz sobie pętlę, w której wyciągasz dane z bazy. Może to wyglądać tak:
  1. $query = mysql_query("SELECT * FROM posty");
  2. while($row = mysql_fetch_assoc($query)){
  3. $tytul = $row["tytul"];
  4. $nick = $row["nick"];
  5. $link = $row["link"];
  6. echo "<div>$tytul</div>";
  7. echo "<div>$nick</div>";
  8. echo "<div>$link</div>";
  9. }


Poza tym polecam przerzucić się na PDO lub mysqli oraz używanie funkcji mysql_real_escape_string zamiast addslashes.

Ten post edytował Raito 13.02.2015, 16:49:16
Go to the top of the page
+Quote Post
Saldenford
post 13.02.2015, 16:59:03
Post #12





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 25.01.2015

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


Dostałem taki o to błąd
Parse error: syntax error, unexpected T_VARIABLE in /virtual/s/m/smieszkowanie.ugu.pl/index.php on line 46
jest to
$query = mysql_query("SELECT * FROM posty");
Go to the top of the page
+Quote Post
Raito
post 13.02.2015, 17:06:07
Post #13





Grupa: Zarejestrowani
Postów: 156
Pomógł: 19
Dołączył: 27.04.2014

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


Pokaż kod
Go to the top of the page
+Quote Post
Saldenford
post 13.02.2015, 17:10:31
Post #14





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 25.01.2015

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


  1. <?php
  2. include("configpost.php");
  3. ?>
  4. <html>
  5. <head>
  6. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2"/>
  7. <link rel="stylesheet" type="text/css" href="default.css" media="screen"/>
  8. <link rel="icon" type="image/png" href="img/favicon.ico"/>
  9. <title></title>
  10. </head>
  11. <body>
  12. <div class="container">
  13. <div class="gfx"><span></span></div>
  14. <div class="top">
  15. <br />
  16. <br />
  17. <br />
  18. <div class="navigation"> <a href="index.html" id="selected">Główna</a> <a href="archiwum.html">Archiwum</a> <a href="Ud.php">Upload</a> <a href="logowanie.php">Logowanie</a></div>
  19. <div class="header">
  20. <h1></h1>
  21. <p></p>
  22. </div>
  23. <div class="pattern"><span></span></div>
  24. </div>
  25. <div class="content">
  26. <div class="spacer"></div>
  27. <div class="item">
  28. <? php
  29. $query = mysql_query("SELECT * FROM posty");
  30. while($row = mysql_fetch_assoc($query)){
  31. $tytul = $row["tytul"];
  32. $nick = $row["nick"];
  33. $link = $row["link"];
  34. echo "<div class="title">$tytul</div>";
  35. echo "<div class="metadata">$nick</div>";
  36. echo "<div class="body">";
  37. echo "<div class ="image">";
  38. echo "<center><img src="$link" /></center>";
  39. echo "</div>";
  40. echo "<div class="divider"></div>";
  41. >?
  42. <br />
  43. <br />
  44. <br />
  45. <br />
  46. <br />
  47. <br />
  48. </div>
  49. </div>
  50. </div>
  51. <div class="footer"><p><pre> </pre></p></div>
  52. </div>
  53. </body>
  54. </html>
  55.  
Go to the top of the page
+Quote Post
com
post 13.02.2015, 17:14:03
Post #15





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


Nie:
<? php
a
<?php

tak samo nie
>?

a
?>

@Raito
co? tongue.gif

Ten post edytował com 13.02.2015, 17:16:42
Go to the top of the page
+Quote Post
Raito
post 13.02.2015, 17:14:05
Post #16





Grupa: Zarejestrowani
Postów: 156
Pomógł: 19
Dołączył: 27.04.2014

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


Widzisz już błąd? Nawet ci nie pokolorowało.
@com tongue.gif

Ten post edytował Raito 13.02.2015, 17:14:26
Go to the top of the page
+Quote Post
Saldenford
post 13.02.2015, 17:17:43
Post #17





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 25.01.2015

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


Boże, taka głupota biggrin.gif
Juz poprawione za to
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /virtual/s/m/smieszkowanie.ugu.pl/index.php on line 51
To jest ta linia
echo "<div class="title">$tytul</div>";
Go to the top of the page
+Quote Post
Raito
post 13.02.2015, 17:20:24
Post #18





Grupa: Zarejestrowani
Postów: 156
Pomógł: 19
Dołączył: 27.04.2014

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


Jeśli dajesz apostrof w apostrofie, używaj \.
Go to the top of the page
+Quote Post
com
post 13.02.2015, 17:22:32
Post #19





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


Tylko nie dajesz wcięć ma być tak jak jest smile.gif
  1. echo <<<html
  2. <div class="title">$tytul</div>
  3. <div class="metadata">$nick</div>
  4. <div class="body">
  5. <div class ="image">
  6. <center><img src="$link" /></center>
  7. </div>
  8. <div class="divider"></div>
  9. html;


@up bez . bo wprowadzi w bład tzn robisz wtedy tak:
  1. echo "<div class=\"title\">$tytul</div>";
i analogiczne dla innych
Go to the top of the page
+Quote Post
Saldenford
post 14.02.2015, 17:18:30
Post #20





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 25.01.2015

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


Ok, pętelka działa tylko czy da się to zrobić w taki sposób, żeby wypisywała to tak jakby w odwrotnej kolejnosci? Bo teraz nowsze rekordy wypisuje na index.php pod starymi, a ja chciałbym, żeby nowsze były wyżej.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.05.2025 - 07:54