Skocz do zawartości
kszere

CMSK - własny skrypt kszere'go (pomoc i propozycje)

Polecane posty

Aktualnie skrypt działa z bazą MySQL.

W bazie mam 2 tabele:

- cmsk_online (id, ip, data, godzina, minuta)

- cmsk_uzytkownik (id, imie, nazwisko, login, haslo, email, avatar, kod, data, status, admin, transfer, portfel)

 

avatar - kod avatara zapisany w base64 (nie wiem czy to dobry pomysł)

kod - kod weryfikacyjny do weryfikacji konta po rejestracji

data - data rejestracji

status - 0 - tak, 1 - nie (czy konto zweryfikowane, odpowiada również za banowanie)

admin - konto z uprawnieniami admina np. dostęp do panelu administracyjnego, którego aktualnie nie ma :P

transfer, portfel - puki co za nic nie odpowiada

 

Treść na stronie aktualnie znajdują się tylko w pliku index.php.

CSS- część grafik jest również w base64.

 

Cały kod php siedzi między HTML'em przez co mnie to ogranicza.

Wiem, że trzeba najpierw co się da PHP na początku, a później tylko uzupełniać HTML danymi.

Gdzie polecacie przechowywać treści? (W bazie czy w plikach)

W jaki sposób, jeśli w plikach to gdzie? w jednym pliku czy w folderze np. data/pages a w nim folder odpowiadający za każda stronę?

Najwygodniej mi by było w pliku XML wszystko trzymać tylko, że nie może być kodu PHP ani HTML tylko czysta treść, chyba, że się mylę to mnie natychmiastowo poprawcie ;]

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Koniecznie podziel system na front i backend - unikniesz zbędnego bajzlu, będzie to lepiej wyglądać od strony kodu, nie będzie problemu dla przyszłych koderów, stronka może trochę przyspieszyć i oszczędzić serwer (zrealizowany cache).
Do tego polecam Ci Smarty, w ich dokumentacji znajdziesz po prostu wszystko co potrzebne do szczęścia :)

Nie rozumiem.. Jak grafiki w base64?

Treści najlepiej, najuniwersalniej jest trzymać w bazie. Po co chcesz wrzucać znaczniki HTML do treści?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nigdy o czymś takim nie słyszałem, nie mam pojęcia kto to stosuje :P

Zamiast tagów HTML możesz używać znaczników typu BBCODE ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
function BBCode($tekst){
	$tekst = nl2br($tekst);
	$tekst = htmlspecialchars($tekst);
	$tekst = preg_replace("#\[b\](.*?)\[/b\]#si",'<b>\\1</b>',$tekst);
	$tekst = preg_replace("#\[i\](.*?)\[/i\]#si",'<i>\\1</i>',$tekst);
	$tekst = preg_replace("#\[u\](.*?)\[/u\]#si",'<u>\\1</u>',$tekst);
	$tekst = preg_replace("#\[s\](.*?)\[/s\]#si",'<s>\\1</s>',$tekst);
	$tekst = preg_replace("#\[img\](.*?)\[/img\]#si",'<img src="\\1" alt="" />',$tekst); //wstawianie obrazków bez tekstu alternatywnego
	$tekst = preg_replace("#\[img=(.*?)\](.*?)\[/img\]#si",'<img src="\\1" alt="\\2" />',$tekst); //wstawianie obrazków z tekstem alternatywnym
	$tekst = preg_replace("#\[url\](http.*?)\[/url\]#si", "<A HREF=\"\\1\">\\1</A>", $tekst); //odnośnik www - nie dodaje http
	$tekst = preg_replace("#\[url=(http.*?)\](.*?)\[/url\]#si", "<A HREF=\"\\1\" TARGET=\"_blank\">\\2</A>", $tekst); //odnośnik www z opisem - nie dodaje http
return($tekst);
}

 

Coś to nie działa, chyba, że znasz prostszy sposób.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mam to zrobione aktualnie tak....

Jak mógłbym to wszystko usprawnić?

 

index.php (wersja z bazą)

<?php
session_start();
$_SESSION['logout_time'] = time() + (60 * 15);
if (!file_exists("config.php")) 
{
	header("Location: install/index.php");
}
include 'config.php'; // połączenie się z bazą danych
include("skrypty/licznik_online.php");

@$wynik = mysql_query("SELECT * FROM ".$mysql_prefix."uzytkownik WHERE login='{$_SESSION["login"]}'");
if ($wynik) {
$informacja = mysql_fetch_array($wynik);
}
/* IKONKI w tekście */
$ico_arrow = '<img src="data:image/png;base64,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" />';
$ico_exclamation = '<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAwtJREFUeNpMVG1Ik1EUfrZ3c+XmMFLn11y4mAtTQZYSafOLKEGFxJJw/Qn6gPoV/lWyf/lX/d+PHGT5gVCQBCVGVItYH1jLd3Po5kxF9M32wbutc95WeeHZvbvnPM8595x7X1VXVxdUKhXUarUyE/IJxwCYCEb8GbuE9XQ6vUjYICCVSoFnDf4PHaHOYrGc6unpuVReXl4ly7Ji0Gg0EEXx08TExHgwGHxFW28JcbYJdrudozL5TEdHR5/L5bote72myMOHWBsbw+bkJCRRhEGvN7VcvNBGmQo+n4/JQUJSqKio4FQaOjs7+5qbmy8HBgehXViAhaJaiopQkpcHw+4udubnEfG8R5Wrr0YQBJlENlhEnUwmTWVlZY2trS0ucXAAheRcaDJhdXUVOaOjCkKhEEy0l7e1heWhITidTldJSUkjc1mgsrv7fO/q3ByMoTBUVJhwOAxJkv4Vh9eRSAQqLlRgGRsvX6C9/VwvczX0U2w2myt9D8ZxxGBQov0lra+vY5cy8lMNUsmksl9cWgq886Do+rVK5rJAriT9RNTrhZyfj3g0ip/b29jb21OOodVqoaZu/G1XbGcHafKNRmNgroZaxceATH2NkvEXpU8WpadM1uv1OMCtzAgIiQRi5KtwiMsCkiBooK08jpjnHbIzqfL41tSkzLn7LgsHYl9AzQISRw9//7701eCow3YshlydDgbFDJxeXEQbnZ/XhgyigoDs2hMIBJa/MpcFPrrd7qm8Bifix6uxQw45dK057aysLCXqgQxZoiOlKNChkw2YmZmaYi7VR17z+5fmp6cnH9vvDuNHTS0+U5oCEcJWqwJefyFsOuphu3MPs7MzjwMB/zxzhYKCAn4YIa/3g5p46rP9A3YctSEoaPE+tAKfRgu55SyKr9yA7eotuN33px89Gp+iK/2US6Kqrq5WXhb1+2A8Hj9jtdpab97sb3c4Tlr31Q4ez2txZGT4iSj6nut0umdGozGqvOB9AkrvE4mEmf7XE+cI4XCGv0VYJsIbqssKt5YElE/AbwEGANL7hJ0JNY9TAAAAAElFTkSuQmCC" />';
$ico_question = '<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAz5JREFUeNpMVG1IU1EYfrZ7d6denVa26WItHaVlrSDLoi+WFRGpRflHWgXVjyAq+vgTEdXffkRQRH8CIdwPjSlBQRR9UTEzmgm1tpZu1XKT6bzb3If3zt5zi/LAc8+597zP877nPe97NW1tbdBoNNBqtepMmE9YCsBEMODPkAjRmZmZz4QxAgqFAtjM4//QE9ZardYN7e3tHbW1tStkWVY3eJ5HMBgc6u7u7gqFQq/pUz8hx/a4+vp65pWRd7S0tBxwOp1nB77A5H6WwN0HEh68SiEQSoMXRFPH/i3bKFLO7/czcoigcHV1dSyUja2trQccDsfBi7ej8EVKUFRWjaoqEyorK5EtiPhAnBfv4ji0t24lx3EyiYwxEV5RFFNNTc2m5uatzgu3otAbzEAmjxun5sw6nYjLd9IIRnS4dCeKS0e2OL1erz8cDvs4m83WdOzY0fNvhqaNgWgZBEGPiYkk4vE4PB/HMC7JWGwtQzCcwLdflM2pArSFJNbYzSaPp/89i8BssVgaup7+RGmpEaOjcdVn38ss0ukpbLbHYSyJIBBIoL9/EmazEYMBBev2VDcwrpYeFclkCp+GZShKAblcHtHYOH5EYqitltGxsxxfwtO4/3wKGk5AKp1XbTOZLBiXp6tiIpBlBVIqi9j4FEgH0Ohw9bhV***K3VFwgqiu5RmebFUyGJcJJDmOxxILpTSRp0svAfc3dbvPjPypg6KKf+ksQFZtAS0TSDLvkUDgq2+5TY+klECxWE7eSlWDt52rVbA1+8agTGfQUCNgeHjEx7hM4KPL5XJvb6rEvOIU5OwkdHoy1hX988rWnI7IuSQWVGTgaJyDvj63m3E5o9GYmpgY19Ghi08fcSx78sqP0ViCTjIX955x6HwsU6h5SLEAqsQ4rp9rQG9vz32P542bCtDLBFhj/Bwc/KCl/tBePNlaX16UQzo+jCHvO0xGfVi1MIt9jvk4d3gZXK7O3p6eLjeV9COWU43dblc7S5Kk4lwut8NmW9J84sT5XY2N622zShEDA2+DN29eexgM+p/q9frHBoMho3bwLAEqnDTy+byF3puIs4gw7y+fVdcIETyCIHwXRREkoP4CfgswAD0VkVFpyDl9AAAAAElFTkSuQmCC" />';
$ico_contact = '<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAclJREFUeNrEk79LHEEUx78zu4K66y0X8AfB81CUa1xZomhhZ28jBCGNjUXA/AMB0dLKOmnShBBrQbAKBBJEktNDsLoDFUwEQdicl3Vvb2d3nDdeLiKx0SIDw+PN4/N93zfMMCklHrPYowWer67Oqvj0gfwZ5paXX8oHLmLNRAiWqjHefpcIzo9xcbSHvuFx9OSGMD96/3icMRBrCiF4ogRkChQ/rkA06jjZ3cSrtQ8QaYqvBwfIZrMIwxAThUJLwOAcxJoijrXAYNbATnsXrn5fos3uxq8QEEmCfD6vgUwmo/O/t8dArBagTrZpoOBN48vWe0yOT6PDZIgVUC6XtQPf91FW3B83U657IxCTgHJQ+iFRDWJEUYRGFOOnD7i9ArlcTje0bVvHXsfRkZhYCzQaPFEOtj+XkBwW4XgLKO0Xwbo9xCODqFQqGqDO9XodT5pCpmKIbTl4szSATmu9OeALXAWBHuHZ2Jg+6bSs1vhUa2s64ErFSJUa3cO7jY1P/a77mqJonol7aumNAwP5mZmV8yiSp7Wa9NXjoJwi5bf33RoxlDPH8xaV2hBZC4PgsstxvtWq1ckOy8rcfjj/qnHOj9h//43XAgwAG09lUxzsfn8AAAAASUVORK5CYII=" />';
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Language" content="pl">
<link rel="shortcut icon" href="<?php echo $adres_strony; ?>/images/favicon.ico" type="image/x-icon" />
<?php function setTitle($title) {
$GLOBALS['title']=$title;
echo "<title>$title - Centrum kszere'go</title>";
echo "<meta property=\"og:title\" content=\"$title - $tytul\"/>";
} ?>
<meta itemprop="image" content="<?php echo $adres_strony; ?>/images/logo_200x200.png">
<meta itemprop="name" content="<?php echo $tytul; ?>">
<meta itemprop="image" content="<?php echo $adres_strony; ?>/images/logo_90x90.png">
<meta name="description" content="<?php echo $opis; ?>">
<meta property="og:type" content="website" />
<meta property="og:site_name" content="<?php echo $tytul; ?>"/>
<meta property="og:image" content="<?php echo $adres_strony; ?>/images/logo_200x200.png"/>
<script src="<?php echo $adres_strony; ?>/js/prefixfree.min.js"></script>
<script src="<?php echo $adres_strony; ?>/js/jquery-1.7.1.min.js"></script>
<script src="<?php echo $adres_strony; ?>/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="<?php echo $adres_strony; ?>/js/tsc_accordion_toggle.js"></script>
<script type="text/javascript" src="<?php echo $adres_strony; ?>/js/jquery.min.js"></script>
<script type="text/javascript" src="<?php echo $adres_strony; ?>/js/jquery.cookie.js"></script>
<script type="text/javascript" src="<?php echo $adres_strony; ?>/js/tsc_message_box.js"></script>
<link href="<?php echo $adres_strony; ?>/css/szablon.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="<?php echo $adres_strony; ?>/images/slider/themes/default/default.css" type="text/css" media="screen" />
<link rel="stylesheet" href="<?php echo $adres_strony; ?>/images/slider/themes/light/light.css" type="text/css" media="screen" />
<link rel="stylesheet" href="<?php echo $adres_strony; ?>/images/slider/themes/dark/dark.css" type="text/css" media="screen" />
<link rel="stylesheet" href="<?php echo $adres_strony; ?>/images/slider/themes/bar/bar.css" type="text/css" media="screen" />
<link rel="stylesheet" href="<?php echo $adres_strony; ?>/css/nivo-slider.css" type="text/css" media="screen" />
<link rel="stylesheet" href="<?php echo $adres_strony; ?>/css/slider.css" type="text/css" media="screen" />
<script type='text/javascript' src='<?php echo $adres_strony; ?>js/jquery-1.3.2.min.js'></script>
<script type="text/javascript">
    jQuery(function() {
        jQuery('.home_box').each(function() {
            jQuery(this).hover(
                function() {
                    jQuery(this).stop().animate({ opacity: 0.7 }, 400);
                },
                function() {
                    jQuery(this).stop().animate({ opacity: 1.0 }, 400);
                })
            });
    });		
jQuery.noConflict();
</script>
<script language="javascript">
function toggle_it(itemID){
	if ((document.getElementById(itemID).style.display == 'none'))
		{
		document.getElementById(itemID).style.display = 'inline';  
		} else {
		document.getElementById(itemID).style.display = 'none';
				}
	}
</script>
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-39124116-1']);
  _gaq.push(['_setDomainName', 'kszere.tk']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
<body>
<div id="kontener">
	<div id="top">
		<div class="logo">
				<a class="logo" href="<?php echo $adres_strony; ?>/index.php"></a>
		</div>
		<div style="font-size: 9px; float: right; margin-top: -15px; margin-right: -10px;">
			<?php
			if (isset($_SESSION['login'])) { ?>
			Zalogowano jako (<a href="<?php echo $adres_strony; ?>/index.php?id=konto"><?php echo "{$informacja['login']}"; ?></a>)
			<?php } ?>
		</div>
		<div>
			<nav>
				<ul id="menu">
					<li><a href="<?php echo $adres_strony; ?>/index.php" title="Strona Główna">Home</a></li>
					<li><a href="<?php echo $adres_strony; ?>/index.php?id=materialy">Materiały</a> 
						<ul>
							<li><a href="<?php echo $adres_strony; ?>/index.php?materialy=aplikacje">Aplikacje</a></li>
							<li><a href="<?php echo $adres_strony; ?>/index.php?materialy=prezentacje">Prezentacje</a></li>
						</ul>
					</li>
					<li><a href="<?php echo $adres_strony; ?>/index.php?id=uslugi">Usługi</a> 
						<ul>
							<li><a href="<?php echo $adres_strony; ?>/index.php?uslugi=hosting">Usługi hostingowe</a></li>
							<li><a href="http://himages.kszere.tk">Hosting Zdjęć</a></li>
							<li><a href="<?php echo $adres_strony; ?>/index.php?uslugi=plyty">Płyty</a></li>
						</ul>
					</li>
					<li><a href="<?php echo $adres_strony; ?>/index.php?id=kontakt">Kontakt</a></li>
					<?php
					if (isset($_SESSION['login'])) { ?>
					<li><a href="<?php echo $adres_strony; ?>/index.php?id=konto">Konto</a>
						<ul>
							<li><a href="<?php echo $adres_strony; ?>/index.php?id=edycja_danych">Edycja Danych</a></li>
						</ul>
					</li>
					<?php if (($informacja['admin']) == 1) { ?>
					<li><a href="<?php echo $adres_strony; ?>/index.php?panel=home" title="">Panel</a></li>
					<?php } ?>
					<li><a href="<?php echo $adres_strony; ?>/logowanie.php?wylogowanie=tak" title="">Wyloguj</a></li>
					<?php } else { ?>
					<li><a href="<?php echo $adres_strony; ?>/index.php?id=logowanie" title="">Logowanie</a>
						<ul>
							<li><a href="<?php echo $adres_strony; ?>/index.php?id=przypomnienie" title="">Odzyskiwanie hasła</a></li>
							<li><a href="<?php echo $adres_strony; ?>/index.php?id=rejestracja" title="">Rejestracja</a></li>
						</ul>
					</li>
					<?php } ?>
				</ul>
			</nav>
		</div>
		<div style="float: right;margin: 23px 0px 0px 0px; bottom: 0;width: 80px;height: 24px;">
		<a href="https://plus.google.com/111989581725849585620" target="_blank"><img alt="Google +" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAuIwAALiMBeKU/dgAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8wMi8xMR9vELIAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzVxteM2AAADTUlEQVRIia2UT0gUcRTHP7+ZsXUxd6Z/B0F0o2Oo1Elic1eKPQQVHULY/tJlQwgMOhglFIk38ZQUXVLIS9KhiA5BJniWdAkiCnMnCipzd0nWdGd+HXZ2nGnW0PDBg/m9937z/b7v+/GEaZr1QCOwC1DZGrOABeCzBjSqX75cqh8ePoWibA2AbVu/OzpeFZPJIQ3YVT88fKpuZGQfhgE9PYhEYvM/zeWQr1/Dw4eQy7FtenpnMZkc1QDVVlVVHjiAM***uVy5aLNmGIhbt5AXL2J3dmILIQBVA5CAGBpCfvqE7Owsg2zEEglENIqsEBoZQZmYQPT0YD95AoDiAsTj2FevYufz2EJsyEkk4MKFtdjMDPbt2xCPIx0OZQAhAChNTmLBhl067ou/eQMVAoArEeAGvSYMAwDpkS1cKvlqQpYFwO8jR7Ad1tIH4BwsD4AwDEKDg2jnz1M8ehRrctLNrdy5A4Aaj6M0N7M6Olq+Pz+PiEbLZJ1azXtw24rHCY+PI3SdCgFvd8sOQMiprZwBtL17y9I59e6QKwDqyZOEx8cpXrtGLhRi6fRpVmdnqw5ZCoF07rn+N1mvRDIaJTw4SCGZpDQzA0JgPXvmaBacz1J/fyCneIADHYT7+ljq72dlHcYVrzlxgnBf3/rP1yO775nWnj1L8enTfz5NpbWV+gcP2Hb8OFLXA3nbIWxXmwFAqVBYl5na1obx+DFC19FaW9nx8iUYRmAuXtK+DoDABa/XXbnCj64uFtNpAGpaWth+82ZgyIEO7LXfEz53DkuIqp6/e5flTIbCo0fkBwawCwUWBwZ8Ne4MpKwukX7jBlpbW9UOljMZ9zvU0cH3dLqqpNIjVUAiJRKh4cULatYBsYVg9/37rGaz/Hr+PJCrrJbAkEvZrA+kcWqKPffuETp8uLzYdJ26M2doevsWramJr5cvV31lenc3Vj7vXxUS+N7bS8PYGF6LpFJEUilfLD82xrfe3sBirG1pYff164RjMbKx2JoqpmnGPqbTH95FIvJzKiVXsln5v7acycjssWPyXSQi37e3/zRNM6YBC8qhQ6/E7OzOpbk5MdfVRcCqrAnXpAyExP79UmlvnwIWhGmaDcBBoLki2RZYCZgHpv8AsRHkfkeD6+QAAAAASUVORK5CYII=" /></a>
		<a href="http://www.youtube.com/subscription_center?add_user=kszere" target="_blank"><img alt="YouTube" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABh0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzT7MfTgAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xNC8xMHBjVkgAAANwSURBVEiJrZXPa5RHGMc/M+/sbmLN5ueuuwSUlIIXKW3FkoNQhPakixQKUQl48LCQmwev/gMeCwuF3NremkPAFKQmIKSYVkzxoGIOLTlIiKl2Y8juZrPv8/SwM+u7SajS+MDwvM/MM8/3/T7zPDPm+1yuv8fa79LGfGVhiPcgAq+aqr80RMqu39pvc85NZK3FGYM5ZHAFWqpDr0UmNlqtpht27nzBOXqtxcJ7ARDgiAgC512fMVGvMaBK+sYN+qemDgWwWanQuHWLXmPoMyayBlBVaiJky+WO49/37vFbqQTA7xcvsnH37jsBZMtlaiKoKgaw4ik1RDBR1HEcPnuW+osXvFxcpL6xwci5c+8EYKKIRjs9CGBVFVGlpbrPcWxykj+vX+fDK1dYvnqVmWPHWLx2DYAf8/kunZSWj6mq2FiVMPZKYWKC1vPnFC5fprG0ROnRI7bn5gAYtLZLJyUZ00pAO4BuJp9nV5XU8HCbVSpFxrTrrAfYfvqUngP2KRDiWgFiPzSO9zk3PbOj4+MsnTrFyIULAHxw8iR/3byJNd2FrXHciScA9wuF6rPRUX1QLOpKpaKHlZVKRR8Ui/psdFTvFwpV82uhUB20tn9HlY04pipCy/9NCnDGIEAEOKDl/y7YsWe56+0Ba8lFERlj+Edk04XDiIAhaznqA/4fsUDaGCLeHLQLZWqANJDKZvl4ZaWz6Y9iEee/W8Cna2tdcweKKgL7yzRWZXtzk7lcDoCfczmaIp21mrS51RJzbxtOEgzwuQ39HC4/8ZXUTOjet6QrlKqVPYhGlZR3Mqp8vr5OTYTP1tdpegbjy8t8dPs2DVWOT0/zyeoqx6enae6J1emDwCI5ABpeV33gYC9cukT2zBleizBSKjF3+jQjpRI7It1xABcaLdkuoYqaXtf32K+ePAFg2wOWHj8GYAc67MO74AJSF4DfGPSRsbEuO1ssAnQuyB9OnCC1tcVgosTDGfwnAKq8fPiQL2ZmvNme//LOHdbm5zGqrM7OMrm6isYx8/l8Z28AMLMDA9U+Y/qTADVV6rSraBfYUcUZQ9qnqaVKT8LeVSXTfsFIJxhsqW66GBYEvk5euqEbg2PLg0XGtKvDGJz3ySTWrffH5z+GBVdXLWcgTsM3gYWBrk4NB4fqm3mfCrtnXTxIE36qq079C2OdbIEkIH2LAAAAAElFTkSuQmCC" /></a>
		<a href="https://www.facebook.com/kszere" target="_blank"><img alt="Facebook" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAEQklEQVRIiZ2Vz28VVRTHP+fcO/Pe62tLoSAUwURaF6bS6EIRTdxADAtj4tathv/AhZoYl27cuXLh2pAYDImJRkMAiZqAgjGxEYgCtrSlDaUF3pu+mXuPi5n3o2UhehZzb2bu/X7P93vOnSvHjx/3zrn6yNRrL6Yjj78jmj4H1Ph/0bHYuZzfW/h4/dqp8yGEzDvn6kNPHHnFN/d/PjO1Y+S/oFn1sHKGiCBw9PIVPTxy4Nib9/78+rQXkVEd2vvuwcmxkdnrazxoF48EvlEEzKCeKN4pACEajZrj4ORY85ffd79fr9cvehEZi/iZGAPr97NHAs86kZnJbRya3sn4thr1tCQ4fXGJc5eXeWpfk4g+XRTFNi8iQ3kefAiRPA8PWzAQAmzkgWentvP261Ooyqbvww3HRl5QYTkza3ogKUJBiJE8DNhjpaeb4cs4emhiE7gBrXZBK8sJFVYRCojRe0BjNLEYiUUYyFoqAulhh2DsGE3Zu7PZW9XKCj49+QfXF+5ThEjiBIuRGA2vKgpwa36RdnuDTp5j0apshWgQzYgRiiLSygqigXf97OeWHvDDbyssr27QygpCCLSzDgvztwHwAAu3llhaHOfqlZs0hhrUGw3SWkqSJHjnyIPw0sFdHHlhgtQ7vO8T7N3V5IO3ZlCBU2eucvKbWfaNGQuLy+zfUxE45xAR8jzQWWuxvtZG1KGqqHraG4GXp0eZPrCdrTE85Hlmsnx/7oKn1c5BFO99X4GoA3Go+nKOIqIggqEEi3SKrT31cEQTnE8QUUTcAIGUCrpEJbgiqghCs+E5+/MSs3+d5bHxOh8ef5606v0rN1b56LNLeA9Lyw8YatRKAt1EoH3WahStSERxTrmzXjC/tMq+PU1C7Ku53yq4NLtK4sE7cIkHFAYVUAH3wF1fBaIIivdCo5FQr2/+D6oqjXqK9yAYZqF0Q7YoKPt+ENxV1pW1KGVbb2M3RARxHlVKcKis1YctQrtZu55NPduQkkAd1d4uRbXGEAGLlBg6QIBIP8uuTb2auP57M0T9lt4pm0OkOqBCNQ4SUGXYI9Bq0xaCnrcyiF8lVBbexLrrpUsQRSR2VZQdIP0C64AiK/1OB06yd1XHaASzkkhARGKM0TyQp27jOjA9OlzjXiuWdnUV9Q5debJjVOZuZ9STstgrd3NUtczNjJGmQxC8dP5W1cKbWWtXOnfi25+G33v18JO18rD1QWXrXIUvzt4BM7BItMCxw7sxi2ARs8B3P97M9yQ3T5hZy6dpenenLnwv2CfnL2Rv5IxOIN5J9dsQScqxqok4TzSwUGAxYDEgErBYYLEIia0tTvhrX44nc2e8T+/6LMvW0zS9Mebmv9qRLPwqItvNrAb0G96A7mW39crulkMJKB3gToxxDtyNLMvWfQgh63Q6t0UkE5FFYMjMEtl8nf1rmJmpag60gLWiKNZXVlayfwBcjsGkgzvY9AAAAABJRU5ErkJggg==" /></a>
		</div>
	</div>
<!-- 	<div id="baner" style="z-index: 1;">
	    <div class="slider-wrapper theme-bar" style="z-index: 1;">
            <div id="slider" class="nivoSlider" style="z-index: 1;">
                <img src="images/slider/01.png" data-thumb="images/slider/01.png" alt="" />
                <a href="http://dev7studios.com"><img src="images/slider/02.png" data-thumb="images/02.png" alt="" title="To jest przykład podpisu" /></a>
                <img src="images/slider/03.png" data-thumb="images/slider/03.png" alt="" data-transition="slideInLeft" />
                <img src="images/slider/04.png" data-thumb="images/slider/04.png" alt="" title="#htmlcaption" />
            </div>
            <div id="htmlcaption" class="nivo-html-caption" style="z-index: 1;">
                <strong>To</strong> jest przykład podpisu <em>HTML</em> z <a href="#">linkiem</a>. 
            </div>
        </div>
	</div> -->
	<div id="content">
		<div id="content-top">
			<div class="box">
			<?php
			### MENU ###
			$wynik2 = mysql_query('SELECT * FROM '.$mysql_prefix.'menu');
			while ($dane = mysql_fetch_assoc($wynik2)){
			echo ('<a href="?strona='.$dane['id_podstrony'].'">'.$dane['etykieta'].'</a><br>');
			}
			?>
			</div>
			<div class="box"></div>
			<div class="box last"></div>
		</div>
		<div id="main">
			<div id="articles">
			<?php 
			if ( isset($_GET['strona'])){
			$query = 'SELECT * FROM '.$mysql_prefix.'podstrony WHERE id=' . $_GET['strona'] . ' LIMIT 1';
			$result = mysql_query($query);
			   
				while ($strona = mysql_fetch_array($result, MYSQL_ASSOC)) {
				setTitle($strona['nazwa']);
				echo '<h1>'.$strona['nazwa'].'</h1><br>';
				echo $strona['tresc'];
				}
			} else {
				$wynik_home = mysql_query("SELECT * FROM ".$mysql_prefix."menu WHERE `default`=1");
				}
				if ($wynik_home) {
				$strona_glowna = mysql_fetch_array($wynik_home);
				}
				$result = mysql_query('SELECT * FROM '.$mysql_prefix.'podstrony WHERE id='.$strona_glowna['id_podstrony'].' LIMIT 1');
					while ($strona = mysql_fetch_array($result, MYSQL_ASSOC)) {
					setTitle($strona['nazwa']);
					echo '<h1>'.$strona['nazwa'].'</h1><br>';
					echo $strona['tresc'];
					}
			?>
			</div>
			<div id="sidebar">
			<?php $m = array('stycznia','lutego','marca','kwietnia','maja','czerwca','lipca','sierpnia','września','października','listopada','grudnia');
			echo 'Dzisiaj jest '.date("j").' '.$m[date("m")-1].' '.date("Y").' roku<br>Godzina <a id="czas"></a><br>'; // Dzisiaj jest 1 stycznia 2099 roku Godzina 00:00
			echo '<br>';
			echo('Osób Online: ' . $online . '<br />'); //Wyświetla tekst
			echo('Dzisiaj było: ' . $dzis . '<br />'); //Wyświetla tekst
			echo('Wczoraj było: ' . $wczorajlicz . '<br />'); //Wyświetla tekst
			echo('Wszystkich razem było: ' . @$all . '<br />'); //Wyświetla tekst
			?>
			<hr><br>
			<!-- <iframe src="http://aplikacje.kszere.tk/dotacja_proserwer/skrypt.php" style="border: 0; width: 100%; height: 280px; overflow-x: hidden;"></iframe> -->
			<script type="text/javascript" id="AdTaily_Widget" src="http://static.adtaily.pl/widget.js#xTJAZcCjbTGeaI1"></script>
			<noscript><a href="http://www.adtaily.pl">Reklama w internecie</a></noscript>
			</div>
		</div>
			<div id="content-top">
				<div class="box"></div>
				<div class="box"></div>
				<div class="box last"></div>
			</div>
		<footer>
		Copyright by Sprawdziany dla szkół ponadgimnazjalnych.
		<a style="float: right;" href="#top" title="Kliknij, aby przenieść się na początek strony">Wróć do góry</a>
		</footer>
	</div>
	<div class="clear"></div>
</div>
    <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
    <script type="text/javascript" src="js/jquery.nivo.slider.js"></script>
    <script type="text/javascript">
    $(window).load(function() {
        $('#slider').nivoSlider();
    });
    </script>
<script type="text/javascript">
<!--
(function updateCurrentTime()
{
	var currentTime = new Date(new Date() - (-new Date().getTimezoneOffset() * 60000 - 1 * 3600000));
	document.getElementById('czas').innerHTML = '%s'.replace(/%s/, (currentTime.getHours() < 10 ? '0' : '') + currentTime.getHours() + ':' + (currentTime.getMinutes() < 10 ? '0' : '') + currentTime.getMinutes() + '.' + (currentTime.getSeconds() < 10 ? '0' : '') + currentTime.getSeconds());
	window.setTimeout(updateCurrentTime, 1000);
})();
//-->
</script>
<script type="text/javascript">
$(function() {
   
    $('a[href=#top]').click(function(){
        $('html, body').animate({scrollTop:0}, 800);
        return false;
    });
 
});
</script>
</body>
</html>

<?php
mysql_close($polaczenie);
/*
<a href="#" class="tool" tresc="Treść widziana po najechaniu">Treść widziana</a><br>
*/
?>

 

admin.php (wersja z bazą)

<?php
session_start();
$_SESSION['logout_time'] = time() + (60 * 15);
if (!file_exists("config.php")) 
{
	header("Location: install/index.php");
}
include 'config.php'; // połączenie się z bazą danych
include("skrypty/licznik_online.php");
$tabela = 'uzytkownik'; // zdefiniowanie tabeli MySQL

@$wynik = mysql_query("SELECT * FROM ".$mysql_prefix."$tabela WHERE login='{$_SESSION["login"]}'");
if ($wynik) {
$informacja = mysql_fetch_array($wynik);
}

if (isset($_SESSION['login'])) {
	if (($informacja['admin']) == 1) { //dostęp tylko dla administratora
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="js/prefixfree.min.js"></script>
<link href="css/szablon.css" rel="stylesheet" type="text/css" />

<?php function setTitle($title) {
     echo "<title>$title - Sprawdziany dla szkół ponadgimnazjalnych</title>";
}
?>
</head>
<body>
<div id="kontener">
	<div id="top">
		<div class="logo">
				<a class="logo_admin" href="admin.php"></a>
		</div>
		<div style="font-size: 9px; float: right; margin-top: -15px; margin-right: -10px;">
			<?php
			if (isset($_SESSION['login'])) { ?>
			Zalogowano jako (<a href="index.php?id=konto"><?php echo "{$informacja['login']}"; ?></a>)
			<?php } ?>
		</div>
		<div>
			<nav>
				<ul id="menu">
					<li><a href="?panel=home" title="Strona Główna">Home</a></li>
					<li><a href="?panel=zarzadzaj_stronami">Zarządzaj stronami</a>
						<ul>
							<li><a href="?panel=strona_dodaj" title="Dodaj nową podstronę">Dodaj</a></li>
						</ul>
					</li>
					<li><a href="?panel=stats">Statystyki</a></li>
					<li><a href="?wylogowanie=tak">Wyloguj</a></li>
				</ul>
			</nav>
		</div>
	</div>
	<div id="content">
		<div id="content-top">
			<div class="box">
			</div>
			<div class="box"></div>
			<div class="box last"></div>
		</div>
		<div id="main">
			<div id="articles">
			<?php 
				################## START PANELU ADMINISTRATORA ###############################
				if (isset($_GET['panel']) && $_GET['panel'] == 'strona_dodaj') {setTitle('Dodaj stronę');
				?>
					<h1>Dodaj nową stronę</h1><br>
					<?php
						$tresc = 'Wpisz tu kod lub treść strony : )';
						$aktywna = '1';
						if (@!$_POST['dodaj_strone']) {
							echo "<form method='post' action=''>
								<br>Tytul: <input class=\"input\" type=\"text\" name=\"nazwa\" />
								<textarea name='tresc' cols='71' rows='20'>$tresc</textarea><br>
								<input type='checkbox' name='aktywna' value='1' /> aktywna<br><br>
								<input type='submit' style='padding: 5px;' value='Dodaj stronę' name='dodaj_strone'>
								</form>
								";
						} else {
							$nazwa   = $_POST['nazwa'];
							$tresc   = $_POST['tresc'];
							$aktywna   = isset($_POST['aktywna'])?$_POST['aktywna']:0;
							$ins = mysql_query("INSERT INTO ".$mysql_prefix."podstrony VALUES ('', '$nazwa', '$tresc', '$aktywna')");
							
							if($ins) echo "Strona \"$nazwa\" została poprawnie dodana";
							else { echo "Błąd nie udało się dodać nowego rekordu";
							echo "<br>";
							echo mysql_error();
							} ?>
							<hr>
							<br><br><a href="?panel=strona_dodaj">Dodaj kolejną stronę</a>
				<?php }
				}
				elseif (isset($_GET['panel']) && $_GET['panel'] == 'zarzadzaj_stronami') {setTitle('Zarządzaj stronami');
				?>
					<h1>Zarządzaj stronami</h1><br>
					<?php
					if (@!$_POST['tytul_podstrony']) {
						echo '<form action="" method="POST">';
						$wynik2 = mysql_query('SELECT * FROM '.$mysql_prefix.'podstrony');
						echo '<b>Wybierz stronę do edycji:</b> ';
						echo '<select name="tytul_podstrony">';
						while ($dane = mysql_fetch_assoc($wynik2)){
						echo ('<option value="'.$dane['nazwa'].'">'.$dane['nazwa'].'</option>');
						}
						echo '</select><input type="submit" style="padding: 3px 5px 2px 5px;" value="Wybierz">';
						echo '</form><br>';
						} else {
						
						$tytul_podstrony = $_POST['tytul_podstrony'];
						if (@!$_POST['aktualizuj']) {
							
							
							$result = mysql_query("SELECT * FROM ".$mysql_prefix."podstrony WHERE nazwa='$tytul_podstrony' LIMIT 1");
								while ($dane = mysql_fetch_array($result, MYSQL_ASSOC)) {
								$tresc = $dane['tresc'];
								$aktywna = $dane['aktywna'];
							}
							echo "<b>Edytowana strona:</b> \"$tytul_podstrony\"
								<form method='post' action=''>
								<br>Tytul: <input class=\"input\" type=\"text\" value=\"$tytul_podstrony\" name=\"tytul_podstrony\" />
								<textarea name='tresc' cols='71' rows='20'>\$tresc\</textarea><br>
								<input type='checkbox' name='aktywna' checkbox='checkbox' value='$aktywna' /> aktywna<br><br>
								<input type='submit' style='padding: 5px;' value='Aktualizuj' name='aktualizuj'>
								</form>
								";
						} else {
							$tresc   = $_POST['tresc'];
							$aktywna = isset($_POST['aktywna'])?$_POST['aktywna']:0;
							$zapytanie 	= mysql_query("UPDATE ".$mysql_prefix."podstrony SET tresc='\$tresc\' WHERE nazwa='$tytul_podstrony'");
							$zapytanie2 	= mysql_query("UPDATE ".$mysql_prefix."podstrony SET aktywna='$aktywna' WHERE nazwa='$tytul_podstrony'");
							echo "Strona <b>\"$tytul_podstrony\"</b> sostała zaktualizowana.";
							
						}}
					?>
				<?php
				}
				elseif (isset($_GET['panel']) && $_GET['panel'] == 'stats') {setTitle('Statystyki');
				?>
					<h1>Satystyki</h1><br>
					<?php
					echo('Osób Online: ' . $online . '<br />'); //Wyświetla tekst
					echo('Dzisiaj było: ' . $dzis . '<br />'); //Wyświetla tekst
					echo('Wczoraj było: ' . $wczorajlicz . '<br />'); //Wyświetla tekst
					echo('Wszystkich razem było: ' . @$all . '<br />'); //Wyświetla tekst
					?>
				<?php
				}
				else {
				?>
					<h1>Panel administratora</h1><br>
					<?php echo "Administrator: {$informacja['imie']} {$informacja['nazwisko']} ({$informacja['login']}).<br>"; ?>
				<?php
				}
				################## KONIEC PANELU ADMINISTRATORA ###############################
			?>
			</div>
			<div id="sidebar">
			<?php $m = array('stycznia','lutego','marca','kwietnia','maja','czerwca','lipca','sierpnia','września','października','listopada','grudnia');
			echo 'Dzisiaj jest '.date("j").' '.$m[date("m")-1].' '.date("Y").' roku<br>Godzina <a id="czas"></a><br>'; // Dzisiaj jest 1 stycznia 2099 roku Godzina 00:00
			echo '<br>';
			echo('Osób Online: ' . $online . '<br />'); //Wyświetla tekst
			echo('Dzisiaj było: ' . $dzis . '<br />'); //Wyświetla tekst
			echo('Wczoraj było: ' . $wczorajlicz . '<br />'); //Wyświetla tekst
			echo('Wszystkich razem było: ' . @$all . '<br />'); //Wyświetla tekst
			?>
			</div>
		</div>
			<div id="content-top">
				<div class="box"></div>
				<div class="box"></div>
				<div class="box last"></div>
			</div>
		<footer>
		Copyright by Sprawdziany dla szkół ponadgimnazjalnych.
		<a style="float: right;" href="#top" title="Kliknij, aby przenieść się na początek strony">Wróć do góry</a>
		</footer>
	</div>
	<div class="clear"></div>
</div>
    <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
    <script type="text/javascript" src="js/jquery.nivo.slider.js"></script>
    <script type="text/javascript">
    $(window).load(function() {
        $('#slider').nivoSlider();
    });
    </script>
<script type="text/javascript">
<!--
(function updateCurrentTime()
{
	var currentTime = new Date(new Date() - (-new Date().getTimezoneOffset() * 60000 - 1 * 3600000));
	document.getElementById('czas').innerHTML = '%s'.replace(/%s/, (currentTime.getHours() < 10 ? '0' : '') + currentTime.getHours() + ':' + (currentTime.getMinutes() < 10 ? '0' : '') + currentTime.getMinutes() + '.' + (currentTime.getSeconds() < 10 ? '0' : '') + currentTime.getSeconds());
	window.setTimeout(updateCurrentTime, 1000);
})();
//-->
</script>
<script type="text/javascript">
$(function() {
   
    $('a[href=#top]').click(function(){
        $('html, body').animate({scrollTop:0}, 800);
        return false;
    });
 
});
</script>
</body>
</html>

<?php
mysql_close($polaczenie);
/*
<a href="#" class="tool" tresc="Treść widziana po najechaniu">Treść widziana</a><br>
*/

} 
	} else { 
		#####################
		session_start(); // rozpoczęcie sesji
		$_SESSION['logout_time'] = time() + (60 * 15);
		if (!isset($_SESSION['login'])) { // dostęp dla niezalogowanego użytkownika
		 
			if (isset($_POST['wyslane']) && $_POST['wyslane']) { // jeżeli formularz został wysłany, to wykonuje się poniższy skrypt
			 
				include 'config.php'; // połączenie się z bazą danych
				$tabela = 'uzytkownik'; // zdefiniowanie tabeli MySQL
		 
				$login = $_POST["login"];
				$haslo = $_POST["haslo"];
		 
				$haslo = md5($haslo); // szyfrowanie podanego hasła
		 
				$wynik=mysql_query("SELECT * FROM ".$mysql_prefix."$tabela WHERE
			   login='$login' and haslo='$haslo' and status=0");
		 
				// jeżeli użytkownik zarejestrował się, a nie aktywował swojego konta, to wyświetla się komunikat
				if (mysql_num_rows($wynik) == 1) {
					$informacja = mysql_fetch_array($wynik);
					echo '<p>Twoje konto zostało zablokowane lub nie aktywowałeś jeszcze swojego konta. Aby to zrobić, wejdź w swoją skrzynkę odbiorczą, a następnie znajdź wiadmość z linkiem aktywacyjnym i aktywuj swoje konto</p>';
					exit;
				}
		 
				// jeżeli wszystko jest dobrze, użytkownik się loguje
				$wynik=mysql_query("SELECT * FROM ".$mysql_prefix."$tabela WHERE
			   login='$login' and haslo='$haslo' and status=1");
		 
				if (mysql_num_rows($wynik) == 1) {
					$informacja = mysql_fetch_array($wynik);
					$_SESSION["login"] = $informacja["login"];
					header('Location: admin.php');
				} else {
					echo '<p>Zostały wprowadzone nieprawidłowe dane</p>';
				}
				mysql_close($polaczenie);
			}
 
    // tworzenie formularza HTML
    echo <<< KONIEC
	<form action="" method="post">
		<input type="hidden" name="wyslane" value="TRUE" />
		
		<p>Login: <input class="input" type="text" name="login" /></p>
		<p>Hasło: <input class="input" type="password" name="haslo" /></p>
		<p><input style="padding: 5px;" type="submit" value="Zaloguj" /></p>
	
    </form>
    
KONIEC;
 
		} else {
			header('Location: admin.php');
		}
		 
		if (isset($_GET['wylogowanie']) && $_GET['wylogowanie'] == 'tak' || $_SESSION['logout_time'] < time()) {
			// niszczenie sesji użytkownika
			session_start();
			session_unset();
			session_destroy();
			header('Location: index.php'); // przekierwanie na stronę główną
		}
		#####################
			} ?>

 

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie czytalem kodu, ale zjezdzajac na dol strony rzucilo mi sie w oczy:

 

 

            // niszczenie sesji użytkownika
            session_start();
            session_unset();
            session_destroy();
            header('Location: index.php'); // przekierwanie na stronę główną
 

Nie lepiej:

 

if (!empty($_SESSION)) albo if(session_id() !== '')
{
   session_destroy();
}
 

 

 

Do projektu takiego jak CMS, o wiele lepiej jest uzyc frameworka, albo stworzyc wlasny i tak jak napisal moj poprzednik, podziel to na backend i frontend. Bo teraz to jest niezly pierdolnik.

Edytowano przez advocate (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ja mam małe zastrzeżenie co do tabel - nie lepiej było wywalić kod aktywacyjny do oddzielnej tablicy? przecież po aktywacji już on ci się chyba nie przydaje więc mógłbyś usunąć sam rekord kodu - na moje oko to oszczędza się wtedy troszkę pojemności i myślę że to może dać jakieś tam efekty wydajnościowe.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A ja nie rozumiem sensu kodowania obrazków w base64, dłużej się wykonuje i obciążasz tylko dodatkowo serwer.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Matko jedyna, co za rzeźnia.

 

Weź sobie jakiś prosty framework MVC w stylu CodeIgnitera, a nie ładujesz wszystko do jednego pliku.

Bo sam podzielić tego na widok i kontroler nie dasz rady.

 

Zamiast tego potworka:

<?php echo $adres_strony; ?>

 

Należy używać short tagów: http://php.net/manual/en/language.basic-syntax.phptags.php

Piękne swoją drogą masz SQLi w tym kodzie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

Też kiedyś popełniłem błąd z lukami SQLi

 

Pomogło na początku to: http://helion.pl/ksiazki/php5-bezpieczne-programowanie-leksykon-kieszonkowy-jacek-ross,php5lk.htm jako lekturka do pociągu lub w domu przy herbatce ;)

 

Na pewno nie pomoże ci ona w 100% na Twoje problemy ale na początek jest to dobra mała i dobrze napisana książka (na allegro chyba za 10zł kupiłem z darmową wysyłką).

 

"Wszystko co pochodzi od użytkownika musisz filtrować na wszystkie możliwe sposoby"

 

Wcześniej nie patrzyłem na Ten kod, ale powyższy post mnie do tego zachęcił :)

 

 

Ale co do korzystania z frameworków to jakoś nie lubię korzystać z gotowców. Osobiście lubię samemu tworzyć kod od zera i patrzeć jak rosną pliki w linijki :) Moim zdaniem to trochę jak pójść na łatwiznę. Może się mylę, ale zawsze jak poprawiam lub widzę błąd to już wiem gdzie go szukać i zajmuje mi to 2 minuty niż gmeranie w plikach i nieznanych kodach.

 

Co prawda lubię łopatologiczne kody bez jakichś wodotrysków i dodatków i może to mnie trzyma przy zwykłej, prostej strukturze php :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Czytelność kodu przede wszystkim. Dużo czytelniejsza jest konstrukcja

 

<?=$zmienna?>
 

 

niż

 

<?php echo $zmienna; ?>.
 

gdy mamy wiele zmiennych osadzonych w kodzie HTML.

 

 

Frameworki to pójście na łatwiznę, jak się umie kodować i nie chce się samemu pisać pewnych rzeczy. Jak się nie umie, to jedyne wyjście, żeby skrypt jakoś działał i wyglądał.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Czytelność kodu przede wszystkim.(...)

 

 

Frameworki to pójście na łatwiznę, jak się umie kodować i nie chce się samemu pisać pewnych rzeczy. Jak się nie umie, to jedyne wyjście, żeby skrypt jakoś działał i wyglądał.

 

 

Kwestia czytelności to kwestia subiektywnej oceny. Pamiętaj , że kiedyś możesz trafić na serwer gdzie nie będzie wkompilowana obsługa short tagów i skrypty już nie będą działać.

 

Co do frameworków mam 3 argumenty przeciw:

- często jest to armata na muchę

- duży narzut generowany przez sam framework

- korzystając z frameworka raczej trzeba mieć dobrze opanowane kodowanie i zrozumienie działania MVC, OOP i paru innych rzeczy, w zależności od frameworka dlatego polecanie frameworka osobie, która nie radzi sobie z programowaniem nie jest zbyt rozsądne bo to dopiero wyjdzie koszmarek.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

Pisanie własnego kodu może jest fajne i trendi, i można na to dupy wyrywać, ale jeśli nie ma się doświadczenia i nie korzysta choćby z gumowej kaczuszki to zwykle kończy się nieciekawie. Zaś frameworkami zajmują się zwykle grupy doświadczonych programistów, więc zdecydowanie trudniej o błąd/dziurę (na poziomie samego fw).

Z resztą samo pisanie o fw jako o gotowcu świadczy, że nie ma się o tym zbytniego pojęcia...

 

 

Heh że zmiennych pobieranych nie filtrowałem to niby FrameWork by mi to zrobił? Może i sam FrameWork jest bezpieczny, ale co programiście po samym FrameWorku skoro jak dopisze kawałek kodu to on będzie NIEBEZPIECZNY ze względu na błędy programisty końcowego a nie tego co tworzył FW. Sam powiedziałeś że na poziomie samego FW.

Chciał nie chciał trzeba coś dopisać do szkieletu FW a to czasem może być trudniejsze niż napisanie zwykłego strukturalnego kodu php.

 

Masz rację nie mam pojęcia o FW gdyż nigdy z niego nie korzystałem i podejrzewam że nie skorzystam. Głównym powodem jest to że mało mi to potrzebne gdy praktycznie wszystko mam już zrobione i tylko dodatki tworzę lub opieram wszystko na starym kodzie i go przerabiam.

 

Nie wiem czy doczytałeś ale post #8 masz wyjaśnienie wszystkiego: http://www.webhostingtalk.pl/topic/41122-serwerstatuspl-hacked/?p=348581 ale chyba nie sądzisz że od grudnia bym nie nauczył się zabezpieczać (może nie genialnie i w 100%) podstawowych rzeczy. Człowiek całe życie się uczy a ja co jakiś czas stosuję nowe zabezpieczenia a nie wspominam o nich na forum bo uznałem że bloga zrobię na tu: http://www.facebook.com/SerwerStatus a nie bez sensu na wht...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Czytelność kodu przede wszystkim. Dużo czytelniejsza jest konstrukcja

 

Frameworki to pójście na łatwiznę, jak się umie kodować i nie chce się samemu pisać pewnych rzeczy. Jak się nie umie, to jedyne wyjście, żeby skrypt jakoś działał i wyglądał.

 

Czytelność to rzecz względna. Inaczej wygląda kwestia short tagów na serwerach z PHP < 5.4 - czasem ich po prostu nie ma i pupa.

 

Framework to pójście na łatwiznę? To widać, że nigdy nie programowałeś niczego konkretnego (bo nie piszę tutaj o klepaniu jakichś prostych stronek ;)).

 

Co do frameworków mam 3 argumenty przeciw:

- często jest to armata na muchę

- duży narzut generowany przez sam framework

- korzystając z frameworka raczej trzeba mieć dobrze opanowane kodowanie i zrozumienie działania MVC, OOP i paru innych rzeczy, w zależności od frameworka dlatego polecanie frameworka osobie, która nie radzi sobie z programowaniem nie jest zbyt rozsądne bo to dopiero wyjdzie koszmarek.

 

Armata na muchę? Jasne, bardzo często (widziałem proste wizytówki pisane w ZF czy SF, a kiedyś nawet w Django ;)).

Duży narzut? To już zależy od konkretnego frameworka, bo nie wkładajmy do jednego wora ZF2 czy SF2 razem ze Slim'em.

W kwestii nauki, ja bym właśnie powiedział, że nauka na FW ma pewne plusy. Uczący się może zobaczyć jak wygląda strunktura aplikacji, dlaczego tak, a nie inaczej. Ale to, że teoria najpierw, to oczywiste. Ale do nauki? Czemu nie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

Ja na Twoim miejscu bym tak nie kozaczył jak nie wiesz z kim tańczysz ;)

 

 

Jeżeli to do mnie to nie kozaczę bo jak napisałem w tamtym temacie jestem amatorem, ale chcę się czegoś nauczyć i uczę się codziennie i prawie codziennie siedzę w kodzie i coś poprawiam i googluje co jeszcze mogę poprawić i jak mogę się zabezpieczyć.

 

Ja nie mówię że jestem jakiś Ah i eh nieskazitelny i wszystkowiedzący. Tylko wyrażam swoją opinię odnośnie korzystania z FrameWorka. Autor tego skryptu zrobi co zechce bo jeszcze żyjemy w wolnym kraju :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

Wcale tego nie kwestionowałem. Jednak korzystając z fw można uniknąć sporej części dziur i popularnych błędów. Większość fw bez problemu (i nierzadko z automatu) odfiltruje dane wejściowe, uchroni przed sql injectionem czy xssem.

 

Oh, nie to miałem na myśli pisząc o braku pojęcia - jeśli stworzyłeś własną strukturę i logikę, przygotowałeś pomocnicze funkcje, jeśli masz zamiar wykorzystać to do innego projektu, to już masz jakiś fw, może niezgodny z ogólnie przyjętymi wzorcami i normami, ale jednak fw.

Fw to szablon, zestaw narzędzi mających przyspieszyć tworzenie właściwego kodu, żaden gotowiec.

 

Nikt nie będzie Cię zmuszał do korzystania z gotowych i sprawdzonych fw, ale imho jest to warte rozważenia, bo przynosi zdecydowanie więcej korzyści niż utrudnień. No i śledząc kod/używając fw jesteś w stanie szybciej przyswoić obowiązujące standardy i poprawne rozwiązania, niż ucząc się z tutoriali pisanych 10 lat temu, gdy o OOP niewielu słyszało.

 

To w takim razie trochę źle Cię zrozumiałem :)

 

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×