Skocz do zawartości

KG 3 ostatnie wpisy


maxy2

Rekomendowane odpowiedzi

Napisałem Księge Gości i nie wiem jak zrobić aby w indexie wyświetlały sie 3 ostatnie wpisy. Przesyłem moje kody, jak pisałe, a zarazem prosze o pomoc. ( albo żeby w indexie nie wyświetlały sie żadne wpisy ale na liście tak). ;)

index2.php

<html>
<head>
 <meta http-equiv="Content-type" 
       content="text/html; charset=iso-8859-2" />
  <title>Księga Gości</title>
  <style type="text/css">
  body {background:#BBBBBB;font-family:arial;font-size:12px;}
  table,td {font-family:arial;font-size:12px;}
  .tab {border:1px dotted #00ad00;width:90%;background:#A9A9A9}
  h1 {text-align:center;color:blue;text-decoration:underline;}  
  h2 {color:blue;}
a,a:visited {color:blue-black;} 
a:hover {background:#0068D8;color:white;}
hr {color:blue-black;background:blue-black;height:1px;}
.motto {text-align:center;border:1px solid white;
        width:95%;margin-left:5%;
		  background:#ff4f4f;color:white;}
  input, textarea {font-family:arial;font-size:12px;
        background:#ffb5b5;
		  border:1px solid red;
		  color:red;} 
  .blad {color: #666666;border:2px solid #ff0000; text-align:center;font-weight:bold;width:80%;padding:5px;}
  .ok {color: #00af00;border:2px solid #00af00; text-align:center;font-weight:bold;width:80%;padding:5px;}

  </style>
</head>
<body>

<?php include('ksiega.php'); ?>


</body>
</html>		

ksiega.php

<h1>Ksiêga Go¶ci</h1>
<table align="center" class="tab">
<tr><td valign="top">
<!-- menu -->
<div align="center">
[ <a href="https://www.osieczany.com/">Osieczany</a> ]
[ <a href="index2.php?pokaz=lista">Lista wpisów</a> ]
[ <a href="index2.php?pokaz=dodaj">Dodaj wpis</a> ]
<hr />
</div>
<!-- tre¶æ g³óna -->
<?php include('sys.php'); ?>
<!-- koniec -->
</td></tr>
</table>

lista.php

<?php
if (file_exists('wpisy.txt'))
         readfile('wpisy.txt');
    else echo('Brak pliku z wpisami!');
?>

dodaj.php

<h2>Dodaj wpis do ksiêgi go¶ci</h2>
<?php
function info($s,$klasa)
{
   echo ('<div align="center"><p class="'.$klasa.'">'.$s.'</p></div>');    
}

function konwertuj($s)
{
   $s=strip_tags($s,'<b><i><u>');
   $s=stripslashes($s);
   $s=str_replace('"','"',$s);
 return ($s);
}

if (isset($_POST['imie']))
{
   $_POST['imie']=konwertuj($_POST['imie']);
   $_POST['email']=konwertuj($_POST['email']);
   $_POST['www']=konwertuj($_POST['www']);
   $_POST['opinia']=konwertuj($_POST['opinia']);

   $blad='';
 if (strlen($_POST['opinia'])<10 || strlen($_POST['opinia'])>1024) $blad='Opinia jest zbyt krótka';
   if ($_POST['www']!='')
   {
      if (strtolower(substr($_POST['www'],0,7))!='https://') $_POST['www']='https://'.$_POST['www'];
      if (strlen($_POST['www'])<11) $blad='¬le podano adres strony WWW';
 }
   if (! ereg ("^.+@.+\..+$", $_POST['email'])) $blad='Podaj poprawny adres e-mail';
   if (strlen($_POST['imie'])<3) $blad='¬le wprowadzono imie i nazwisko'; 
 if ($blad!='') info($blad,'blad');
 else {
    //zapisujemy dane do pliku
    if (file_exists('wpisy.txt')) $dane=file('wpisy.txt'); else $dane=array();

    $plik=fopen('wpisy.txt','w');
    flock($plik,2);
    fputs($plik,"<table border='0'>");
    fputs($plik,"<tr><td align='right'><b>Data wpisu:</b></td><td>".date('d.m.Y H:i:s')."</td></tr>");
    fputs($plik,"<tr><td align='right'><b>Imie i nazwisko:</b></td><td>$_POST[imie]</td></tr>");
	 fputs($plik,"<tr><td align='right'><b>E-mail:</b></td><td><a href='mailto:$_POST[email]'>$_POST[email]</a></td></tr>");
	 if ($_POST['www']!='') fputs($plik,"<tr><td align='right'><b>WWW:</b></td><td><a href='$_POST[www]'>$_POST[www]</a></td></tr>");
	 fputs($plik,"<tr><td align='right' valign='top'><b>Opinia:</b></td><td><i>$_POST[opinia]</i></td></tr>");
 		 fputs($plik,"</table><hr />");
    for ($i=0;$i<count($dane);$i++) fputs($plik,$dane[$i]."\r\n");
    flock($plik,3);
    fclose($plik);

  	 info('Formularz zosta³ zapisany.','ok');
    include('lista.php');
    return;
 }
} else
{
  $_POST['imie']='';
  $_POST['email']='';
  $_POST['www']='';
  $_POST['opinia']='';
  echo '<p>Wype³nij poprawnie poni¿szy formularz.</p>';
}
?>

<form action="index2.php" method="POST">
<input type="hidden" name="pokaz" value="dodaj" />
<table border="0">
<tr><td>Imie i nazwisko:</td><td><input size="30" type="text" name="imie" value="<?php echo $_POST['imie']; ?>" /></td></tr>
<tr><td>Adres e-mail:</td><td><input size="30" type="text" name="email" value="<?php echo $_POST['email']; ?>" /></td></tr>
<tr><td>Strona WWW:</td><td><input size="30" type="text" name="www" value="<?php echo $_POST['www']; ?>" /></td></tr>
<tr><td>Opinia:</td><td><textarea cols="40" rows="5" name="opinia"><?php echo $_POST['opinia']; ?></textarea></td></tr>
<tr><td></td><td><input type="submit" value="Dopisz siê do ksiêgi" /></td></tr>
</table>
</form>

sys.php

<?php
$dozwolone=array('lista','dodaj');

if (isset($_GET['pokaz'])) $pokaz=$_GET['pokaz']; else $pokaz=$dozwolone[0];
if (isset($_POST['pokaz'])) $pokaz=$_POST['pokaz'];

if (in_array($pokaz,$dozwolone)) include($pokaz.'.php');
                            else include($dozwolone[0].'.php');
?>

Odnośnik do komentarza
Udostępnij na innych stronach

Zrób to w oparciu o bazę danych MySQL jest nawet prościej niż pliki tekstowe.

Przykaldowe rozwiązanie:

Zakładając, że plik tekstowy księgi gości ma format

Pierwszy wpis

Drugi wpis

Trzeci wpis

Czwarty wpis

Odczytaj plik funkcją file() która utworzy tablice

Array

(

[0] => Pierwszy wpis

[1] => Drugi wpis

[2] => Trzeci wpis

[3] => Czwarty wpis

)

Odwroc kolejność elementów tablicy i pobierz pierwsze trzy elementy..

LUB

Przykładowa implementacja pobieranie 3 ostatnich wpisów z księgi gości

$dane=file('kg.txt');
$ile=count($dane);

echo $dane[$ile-3].'<br />';
echo $dane[$ile-2].'<br />';
echo $dane[$ile-1].'<br />';

LUB w pętli for

for($a=3;$a>=0;$a--)
{
  echo $dane[$ile-$a].'<br />';
}

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Nie znam się na pozycjonowaniu, ja tu tylko zużywam transfer i miejsce w sql.

Roman Kluska ujawnia: nadchodzi INFLACYJNY ARMAGEDON!

 

Odnośnik do komentarza
Udostępnij na innych stronach

I przy okazji o implode() ... :D

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

ale na moim serwerze mam tylko jedną baze danych, wiec nie da rady.
Ale jedna baza może mieć przecież wiele tabel a na księgę gości jedna prosta tabela wystarczy :D

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Nowe tabele możesz tworzyć w phpMysql aminie bardzo łatwo googlni sobie. NP https://home.pl/pomoc/1518

[jako ciekawostkę podam, że widziałem książkę obsłudze phpMyAdmin:]...

Lub możesz wkleić w oknie formularza zapytania SQL poniższy kod tworzący tabele KsiegaGosci.

// Przykładowa Struktura tabeli dla `KsiegaGosci`

CREATE TABLE `KsiegaGosci` (
 `id` int(6) NOT NULL auto_increment,
 `nick` varchar(20) NOT NULL default '',
 `email` varchar(50) NOT NULL default '',
 `data` date NOT NULL default '0000-00-00',
 `ip` varchar(15) NOT NULL default '',
 `tresc_wpisu` text NOT NULL,
 PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin2;

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Nowe tabele możesz tworzyć w phpMysql aminie bardzo łatwo googlni sobie. NP https://home.pl/pomoc/1518

[jako ciekawostkę podam, że widziałem książkę obsłudze phpMyAdmin:]...

Lub możesz wkleić w oknie formularza zapytania SQL poniższy kod tworzący tabele KsiegaGosci.

// Przykładowa Struktura tabeli dla `KsiegaGosci`

CREATE TABLE `KsiegaGosci` (
 `id` int(6) NOT NULL auto_increment,
 `nick` varchar(20) NOT NULL default '',
 `email` varchar(50) NOT NULL default '',
 `data` date NOT NULL default '0000-00-00',
 `ip` varchar(15) NOT NULL default '',
 `tresc_wpisu` text NOT NULL,
 PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin2;

dzieki za ten kod. Jaki mam napisac kod i gdzie go umieścić w index2.php czy sys.php. Chodzi mi o to aby pobierał informacje z bazy danych. ?????

Odnośnik do komentarza
Udostępnij na innych stronach

I po co cytujesz w całości ! Już Ci kolega Erbit zwrócił uwagę...

To o co pytasz to są podstawowe zagadnienia związane z obsługą baz danych.... Wiec skoro chcesz bawić się w programowanie czas się zacząć uczyć ;)

Przykładowa księga gości w akcji:

https://smarty.ovh.org/ksiega/

do pobrania:

https://smarty.ovh.org/ksiega/ksiega.zip

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności