Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana nazwy strony przez php
Forum PHP.pl > Forum > PHP
LucKy_skiLL
Witam, utworzyłem sobie taki formularz, który powinien zmieniać nazwe strony, lecz tego nie robi.


<title><?echo $title_page ?></title>
  1. <form action='ustawienia.php' method='post'>
  2. <input type='hidden' name='wyslane' value='TRUE' />
  3. <table width='266' border='0' cellspacing='0' cellpadding='0'>
  4. <tr>
  5. <th width='113' height='32' scope='col'><font size='2'>Nazwa strony:</font></th>
  6. <th width='153' scope='col'><div align='center'>
  7. <input type='text' value='$title_page'/>
  8. </div></th>
  9. </tr>
  10. </table>
  11.  
  12. <p><input type='submit' class='konto' value='' /></p></form>
Sephirus
Ja sobie kiedyś napisałem funkcję:

  1.  
  2. function przelej_milion_na_moje_konto() {
  3. // treści nie podam...
  4. }
  5.  
  6. przelej_milion_na_moje_konto();
  7. przelej_milion_na_moje_konto();
  8. przelej_milion_na_moje_konto();


i na koncie nic się nie zmieniło sad.gif

A tak na serio to:
1. może podaj trochę więcej kodu
2. Zapoznaj się z $_POST i składnią formularzy HTML i PHP:

nie piszemy:

  1. <input type='text' value='$title_page'/>
  2.  
  3. czy:
  4.  
  5. <title><?echo $title_page ?></title>


tylko:

  1. <input type='text' name='title_page'/>
  2.  
  3.  
  4. <title><?php echo $_POST['title_page'] ?></title>
sobol6803
  1. <?php if (!isset($title_page)) {
  2. $title_page = 'domyslny tekst';
  3. }
  4. if (!empty($_POST['title'])) {
  5. $title_page = $_POST['title'];
  6. }
  7. ?>
  8. <head>
  9. <title><?php echo $title_page ?></title>
  10. </head>
  11. <body>
  12. <form action='ustawienia.php' method='post'>
  13. <input type='hidden' name='wyslane' value='TRUE' />
  14. <table width='266' border='0' cellspacing='0' cellpadding='0'>
  15. <tr>
  16. <th width='113' height='32' scope='col'><font size='2'>Nazwa strony:</font></th>
  17. <th width='153' scope='col'><div align='center'>
  18. <input type='text' name='title' value='<?php echo $title_page ?>'/>
  19. </div></th>
  20. </tr>
  21. </table>
  22.  
  23. <p><input type='submit' class='konto' value='' /></p></form>
  24. </body>
LucKy_skiLL
Dzięki działa, teraz mam pytanie, jak zrobić, aby działało to na cały serwis ? Bo teraz tytuł jest tylko w pliku ustawienia.php
Sephirus
Na cały serwis... hmmm.. nie do końca rozumiem jakbyś to widział? Może opisz najpierw co chciałbyś uzyskać - normalnie słowami wink.gif
sobol6803
Musisz zapisywać ten tytuł do pliku/bazy danych i odczytywać w pliku, w którym masz header. Jeśli robisz każdą stronę osobno - nie rób. smile.gif Zrób sobie szablony, np:

plik header.php
  1. <!-- reszta tagów w head -->
  2. <title><?php $title_page ?></title><!-- (wczytywany z pliku/bazy) -->
  3. </head>


Wtedy tylko na swojej stronie będziesz miał:

plik strona.php
  1. <?php
  2. include('./header.php');
  3. ?>
  4. tresc strony
  5. </body>
  6. </html>


Oczywiście to wszystko tylko prowizorycznie, ale ucz się już robić szablony.
LucKy_skiLL
Mam tak, posiadam plik np. gora.php i tam mam cały wygląd strony mam panel.php itp. ale uważam, że w moim przypadku wystarczy zapis do bazy i odczyt tego w gora.php ponieważ ten plik jest dołączony do każdego, więc pytanie jak zrobić zapis i odczyt tytułu w bazie SQL.
LucKy_skiLL
Tak wygląda mój kod, gdy wpisze w polu jakąś nazwe to działa tzn. zmienia się nazwa w pasku strony, w polu i w bazie danych, ale po ponownym wejściu w ten plik, nie wyświetla się nazwa w polu i przeglądarce.


  1. <?php
  2. include('../../gora.php');
  3. include('../../panel.php');
  4. $tytul = $_POST['title_page'];
  5. ?>
  6.  
  7.  
  8. <title><?php echo $tytul; ?></title>
  9.  
  10. <?php
  11. echo "<div id='srodek'><div id='tlo'><center><b>Ustawienia sklepu</b></center></div></div><br/><br/><br/><br/><br/>";
  12.  
  13. $wynik = mysql_query('SELECT admin FROM uzytkownik WHERE login ="'.$_SESSION['login'].'"');
  14. $wynik = mysql_fetch_row($wynik);
  15.  
  16.  
  17. if (($wynik[0] == 1) and (isset($_SESSION['login']))) {
  18.  
  19. $wynik = mysql_query("SELECT tytul FROM ustawienia");
  20.  
  21. if ($_POST['wyslane']) {
  22.  
  23. if (empty($tytul)) {
  24. $blad++;
  25. echo "<p><div id='srodek'>Pole nie może być puste</div></p>";
  26. }
  27.  
  28. if ($blad == 0) {
  29. $wynik = mysql_query("UPDATE ustawienia SET tytul='$tytul'");
  30. }
  31. }
  32.  
  33. echo <<< KONIEC
  34.  
  35. <div id='srodek'><div id='tlo'><form action='ustawienia.php' method='post'>
  36. <input type='hidden' name='wyslane' value='TRUE' />
  37. <table width='266' border='0' cellspacing='0' cellpadding='0'>
  38. <tr>
  39. <th width='113' height='32' scope='col'><font size='2'>Nazwa strony:</font></th>
  40. <th width='153' scope='col'><div align='center'>
  41. <input type='text' name='title_page' value='$tytul'/>
  42. </div></th>
  43. </tr>
  44. </table>
  45.  
  46. <p><input type='submit' class='wyslij' value='' /></p>
  47.   </form></div></div>
  48. KONIEC;


sobol6803
Skoro zapisujesz do bazy, to musisz title z bazy odczytywać.
LucKy_skiLL
Czyli


  1. $tytul = mysql_query("SELECT tytul FROM ustawienia");


?
!*!
A pobiera Ci to tytuł? Na moje oko to powinieneś go pobrać z bazy. Poczytaj jakiś kurs php.
LucKy_skiLL
Cytat(!*! @ 16.07.2012, 22:50:30 ) *
A pobiera Ci to tytuł? Na moje oko to powinieneś go pobrać z bazy. Poczytaj jakiś kurs php.



To żeś mi pomógł -.-
Lolek13
http://www.w3schools.com/php/php_mysql_select.asp

zobacz to : ) powinno Ci wiele wyjasnic
Evinek
Pierwsze echo nie ma na końcu średnika.
Takie proste... naucz się sam odszukiwać błędów.
Lolek13
srednik na koncu 4 linii

Edit:
drugi tongue.gif haha.gif
LucKy_skiLL
Własnie znalazłem, głupi błąd wink.gif
!*!
Cytat(LucKy_skiLL @ 17.07.2012, 11:48:29 ) *
To żeś mi pomógł -.-


Nie zadałeś sobie trudu napisania czegoś więcej, już nie wspominając o podstawach.

Te linki powinny Ci pomóc w dalszej nauce.

http://pl.wikibooks.org/wiki/Php
http://pl.wikibooks.org/wiki/PHP/Jak_to_się_robiło_kiedyś%3F
lub bardziej nowocześnie
http://pl.wikibooks.org/wiki/PHP/Biblioteka_PDO (zalecane, zapomnij o mysql_*)
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.