Zdravím mám skryptík kterej ukládá věci poslané z formuláře do databáze a ještě než se pokusí ukládat tak mi to napíše tuhle hlášku:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in .....
a chyba je prý na tomhle posledním řádku :( nemohu ji ale najít
<?
function sqldatum ($datum)
{
$test=explode(".",$datum);
return $test[2]."-".$test[1]."-".$test[0];
}
$puvod = array("[","]","Q",); //těmito číslicemi
$nepuvod = array("<",">","\"",); //nahrazení číslic
$oldpopis= str_replace($puvod, $nepuvod, $_POST["popis"]);
jo, chyb tam jsou dokonce dvě.
pole nesmí končit čárkou (,).
<?
function sqldatum ($datum)
{
$test=explode(".",$datum);
return $test[2]."-".$test[1]."-".$test[0];
}
$puvod = array("[","]","Q"); //těmito číslicemi
$nepuvod = array("<",">","\""); //nahrazení číslic
$oldpopis= str_replace($puvod, $nepuvod, $_POST["popis"]);
pole může končit čárkou, je to sice divné, ale žádný prvek, taky prvek.
možná bude chyba před ?>
tak carky to nejsou jinak tady je celej skript a já tam nemohu chybu nají tak aby to házelo nějakou chybu :(
<?
function sqldatum ($datum)
{
$test=explode(".",$datum);
return $test[2]."-".$test[1]."-".$test[0];
}
$puvod = array("[","]","Q"); //těmito číslicemi
$nepuvod = array("<",">","\""); //nahrazení číslic
$oldpopis= str_replace($puvod, $nepuvod, $_POST["popis"]);
include("../skript/config.php");
$spojeni=mysql_connect("$MySQL_server","$MySQL_user","$MySQL_user_password");
$spojenidb=mysql_select_db($MySQL_db);
if (!$spojeni)
{
echo"Nepodařilo se navázat spojení se serverem.";
exit;
}
// poděkujeme uživateli a uložíme to do databáze
$mysql=mysql_query ("INSERT INTO planujeme (id,trvani,datum,text) values ('""','".$_POST["trvani"]."','".sqldatum($_POST["datum"])."''".$oldpopis."', )");
if ($mysql)
{echo "<center>Plán byl přidán.<br>
<b>".$_POST["trvani"]." - </b> ".$oldpopis." ";}
else {echo "nepodařilo se přidat novinku kontaktujte prosím vašeho admina " . mysql_error(). "";}
echo "<br><br>\n<a href=\"nastaveni.php?clanek=planujeme&clan=6\">Přidat další plán?</a></center>";
?>
chyba je prej na řádku:
$oldpopis= str_replace($puvod, $nepuvod, $_POST["popis"]);
MzM: jo, máš pravdu, já ještě žiju na starém serveru, kde mi Array(0,1,2,) prostě vrátí Parse error a Array(0,1,2) jede bez problému.
RBN: pokud se nebojíš, tak se dej celej kód (bez hesel a SQL dotazů) a my ti to omrkneme ...
Tom, ale máš pravdu, že je to spíš dobrá vůle interpretru, jak rozumná věc.
RBN:
insert za komentářem poděkujeme..... obsahuje za values '""' tedy uvozovky v apostrofech, to je asi nevhodné, jestli tam má být prázdný řetězec, nech tam jenom '' tedy apostrofy. Jinak to tiž mezi uvozovkami končí a začíná řetězec a není tam nic, co by se s tím mělo dělat....
Díky všem už to de v poho
A ještě dotaz :D sry
pokud smažu záznam z tabulky. Jeden řádek.
jak zkontroluji a dám vědět uživateli že se to opravdu smazalo?
$sql = 'DELETE FROM `table` WHERE `id`=1 LIMIT 1';
if(MySQL_Query($sql)) echo 'Smazáno';
else echo 'Asi někde bude chyba...';