Zrobiłem sobie prosty skrypt strony www. Tak wygląda plik index.php :
<?php
//inicjujemy sesje
//dołączamy plik z funkcjami
include("functions.php");
//dozwolone skrypty PHP
$dozwolone=array('aktualnosci','ksiega','skrypt_dodaj','aktualnosci_dodaj','newsphp');
//pobieramy parametr pokaz
if (isset($_GET['pokaz'])) $pokaz=$_GET['pokaz']; else $pokaz=$dozwolone[0
]; if (isset($_POST['pokaz'])) $pokaz=$_POST['pokaz']; //jak jest w nim znak kropki - wyświetlamy domyślny skrypt
if (strpos($pokaz,'.')!==false) $pokaz=$dozwolone[0
];
//jak jest skrypt .PHP i jest to dozwolony PHP - zapamiętujemy pełną
//nazwę pliku. Jak nie - tworzymy nazwę pliku z katalogu html i z rozszerzeniem htm
else $pokaz='html/'.$pokaz.'.htm';
//łączymy się z bazą danych i wybieramy odpowiednią bazę danych
$link = mysql_connect("lol.loll", "lol", "olo") or
die ("Nie można nawiązać połączenia.");
//dołączamy nagłówek
include('top.php');
//dołączamy wybrany skrypt lub wyświetlamy komunikat o błędzie
if (file_exists($pokaz)) include($pokaz); else info
('Nie znaleziono pliku.','blad');
//dołączamy stopkę
include('bottom.php');
//zamykamy połączenie
?>
W miejscu bottom.php wywala mi takie cos
Kod
Parse error: syntax error, unexpected T_ECHO, expecting ',' or ';' in /var/www/sites/yoyo.pl/s/z/szymonns/bottom.php on line 28
Mam jeszcze taki skrypt na dodawanie wpisów do bazy danych:
<?php
//jak jest parametr $_POST['haslo'] i jest w nim słowo 'tajne' to logujemy
if (isset($_POST['haslo']) && $_POST['haslo']=='tajne') $_SESSION['zalogowany']=true;
//jeśli nie jesteśmy zalogowani, to wyświetlamy skrypt logowanie.php
if (!isset($_SESSION['zalogowany']) || $_SESSION['zalogowany']==false) {
include('logowanie1.php');
return;
}
//jak jest pole autor, tzn. że przesyłamy formularz
if (isset($_POST['autor'])) {
//dostosowujemy wszystkie pola
$_POST['autor']=konwertuj($_POST['autor']);
$_POST['tech']=konwertuj($_POST['tech']);
$_POST['typ']=konwertuj($_POST['typ']);
$_POST['rozmiar']=konwertuj($_POST['rozmiar']);
$_POST['wiecej']=konwertuj($_POST['wiecej']);
$_POST['opis']=konwertuj($_POST['opis']);
$_POST['pobierz']=konwertuj($_POST['pobierz']);
$_POST['tytul']=konwertuj($_POST['tytul']);
//kontrolujemy poprawność
$blad='';
if (strlen($_POST['opis'])<100
|| strlen($_POST['opis'])>10240
) $blad='Treść niusa ma nieprawidłową długość!'; if (strlen($_POST['tech'])<1
|| strlen($_POST['tech'])>200
) $blad='Tytuł niusa ma nieprawidłową długość!'; if (strlen($_POST['rozmiar'])<2
|| strlen($_POST['rozmiar'])>200
) $blad='Źródło ma nieprawidłową długość!'; if (strlen($_POST['autor'])<3
) $blad='Źle wprowadzono informacje o autorze!'; else
{
//dodajemy do tabeli
mysql_query("INSERT INTO aktualnosci VALUES("$_POST[tytul
]","$_POST[typ
]","$_POST[autor
]","$_POST[pobierz
]","$_POST[opis
]","$_POST[wiecej
]","$_POST[rozmiar
]","$_POST[tech
]",".time().",NULL)") or
die(mysql_error()); info('News został dodany.','ok');
include('aktualnosci.php');
return;
}
} else
{
$_POST['autor']='';
$_POST['typ']='';
$_POST['tech']='';
$_POST['rozmiar']='';
$_POST['wiecej']='';
$_POST['opis']='';
$_POST['pobierz']='';
$_POST['tytul']='';
}
?>
<form action="index.php" method="POST">
<input type="hidden" name="pokaz" value="skrypt_dodaj" />
<table border="0">
<tr><td>Tytuł:</td><td><input size="30" type="text" name="tytul" value="
<?php echo $_POST['tytul']; ?>" /></td></tr>
<tr><td>Typ:</td><td><td><input size="30" type="typ" name="typ" value="
<?php echo $_POST['typ']; ?>" /></td></tr>
<tr><td>Tech:</td><td><input size="30" type="text" name="tech" value="
<?php echo $_POST['tech']; ?>" /></td></tr>
<tr><td>Autor:</td><td><input size="30" type="text" name="autor" value="
<?php echo $_POST['autor']; ?>" /></td></tr>
<tr><td>Rozmiar:</td><td><input size="30" type="text" name="rozmiar" value="
<?php echo $_POST['rozmiar']; ?>" /></td></tr>
<tr><td>Więcej:</td><td><input size="30" type="text" name="wiecej" value="
<?php echo $_POST['wiecej']; ?>" /></td></tr>
<tr><td>Pobierz:</td><td><input size="30" type="text" name="pobierz" value="
<?php echo $_POST['pobierz']; ?>" /></td></tr>
<tr><td>Opis:</td><td><textarea cols="40" rows="5" name="opis">
<?php echo $_POST['opis']; ?></textarea></td></tr>
<tr><td></td><td><input type="submit" value="Dodaj nowy skrypt" /></td></tr>
</table>
</form>
I za każdym razem gdy wysyłam do bazy wywala mi takie coś:
Kod
Column count doesn't match value count at row 1
Nie wiem co jest grane, 10 razy sprawdzałem skrypt