Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][CSS][PHP]Dodawanie "Postów" na własną stronę
Saldenford
post
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 (IMG:style_emoticons/default/smile.gif)



Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 19)
b4rt3kk
post
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.
Go to the top of the page
+Quote Post
robertpiaty
post
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 (IMG:style_emoticons/default/smile.gif)

Ten post edytował robertpiaty 12.02.2015, 22:07:18
Go to the top of the page
+Quote Post
Saldenford
post
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
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.
Go to the top of the page
+Quote Post
Saldenford
post
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
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
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
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
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
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
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
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
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
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? (IMG:style_emoticons/default/tongue.gif)

Ten post edytował com 13.02.2015, 17:16:42
Go to the top of the page
+Quote Post
Raito
post
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 (IMG:style_emoticons/default/tongue.gif)

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





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

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


Boże, taka głupota (IMG:style_emoticons/default/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
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
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 (IMG:style_emoticons/default/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
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 12:21