Skocz do zawartości

wyszukiwanie postu po autorze


zbigniw

Rekomendowane odpowiedzi

Witam

PHP zajmuje się od nie dawna

Po długich poszukiwaniach i kombinowaniu jestem bliski rezygnacji

A więc mój problem polega na tym, że znalazłem w sieci kod księgi gości.

Chcę teraz dodać możliwość wyszukiwania postu po autorze

kod źródłowy wygląda następująco:

   <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Ksiega gosci</title>
  </head>
  <body>
  <font color="#00FF00">
  	<h1>Ksiega gosci</h1>
<?php

	require('./dane.php');
if($_SERVER['REQUEST_METHOD'] == 'POST')
	{
		// Dodawanie wpisu
		if(dodajWpis($_POST['tytul'], $_POST['autor'], $_POST['www'], $_POST['tresc']))
		{
			echo '<p>Dziekujemy, wpis zostal dodany prawidlowo.</p>';
		}
		else
		{
			echo '<p>Prosze wypelnic prawidlowo formularz.</p>';
		}
		echo '<p><a href="ksiega.php">Powrot</a></p>';	
	}
else
	{
		// Wyświetlanie wpisów
		$wpisy = pobierzWpisy();

		foreach($wpisy as $wpis)
		{
			echo '<hr /><p><b>Tytul: <i>'.$wpis['tytul'].'</i>; 
				Autor: '.$wpis['autor'].'; Data: '.$wpis['data'];
			if(strlen($wpis['www']) > 0)
			{
				echo '; <a href="'.$wpis['www'].'" target="_blank"></a>';
			}
			echo '</b></p>';
			echo '<p>'.$wpis['tresc'].'</p>';		
		}

?><hr />
<form method="post" action="ksiega.php">
<table border="0" width="50%">
	<tr>
		<td>Tytul</td>
		<td><input type="text" name="tytul"/></td>
	</tr>
	<tr>
		<td>Autor</td>
		<td><input type="text" name="autor"/></td>
	</tr>
	<tr>
		<td>WWW</td>
		<td><input type="text" name="www"/></td>
	</tr>
	<tr>
		<td>Tresc</td>
		<td><textarea name="tresc" rows="4" cols="50"></textarea></td>
	</tr>
	<tr>
		<td></td>
		<td><input type="submit" value="Dodaj"/></td>
	</tr>
</table>
</form>
<?php

	}

?>
</font>
  </body>
</html>

a plik dane.php:

<?php
	define('WPISY', './wpisy.txt');

	function dodajWpis($tytul, $autor, $www, $tresc)
	{
		// Ucinanie bialych znakow
		$tytul = trim($tytul);
		$autor = trim($autor);
		$www = trim($www);
		$tresc = trim($tresc);
// Kontrola danych

		if(strlen($tytul) < 3)
		{
			return false;
		}

		if(strlen($autor) < 3)
		{
			return false;
		}

		if(strlen($tresc) < 10)
		{
			return false;
		}

		if(strlen($www) > 0)
		{
			// Jesli adres nie zaczyna sie od https:// to dodaj to
			if(strpos($www, 'https://') !== 0)
			{
				$www = 'https://'.$www;
			}		
		}
// Dodawanie

		$f = fopen(WPISY, 'a');

		$dane = array(0 =>
			base64_encode(htmlspecialchars($tytul)),
			base64_encode(htmlspecialchars($autor)),
			time(),
			base64_encode(htmlspecialchars($www)),
			base64_encode(nl2br(htmlspecialchars($tresc)))		
		);

		fwrite($f, implode('|', $dane)."\r\n");
		fclose($f);
		return true;
	} // end dodajWpis();
$tresc = htmlspecialchars($tresc);
$tresc = nl2br($tresc);
$tresc = base64_encode($tresc);

function pobierzWpisy()
	{
		$wpisy = array_reverse(file(WPISY));

		$i = 1;
		$rezultat = array();
foreach($wpisy as $wpis)
		{
			$wpis = explode('|', trim($wpis));

			$rezultat[] = array(
				'id' => $i,
				'tytul' => base64_decode($wpis[0]),
				'autor' => base64_decode($wpis[1]),
				'data' => date('d.m.Y, H:i', $wpis[2]),
				'www' => base64_decode($wpis[3]),
				'tresc' => base64_decode($wpis[4])		
			);
			$i++;		
		}
		return $rezultat;	
	} // end pobierzWpisy();

?>

Będę wdzięczny za jaką kol wiek pomoc.

Z góry dziękuje

Odnośnik do komentarza
Udostępnij na innych stronach

Zainteresuj się instrukcją SELECT języka SQL

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