Autor Zpráva
jo.ne
Profil
Zdravím všechny,
začínám se učit napsat svůj web. Dělám knihu návštěv, ale hází mi to chybu
Parse error: syntax error, unexpected '$objekt_vysledku' (T_VARIABLE) in C:\Complex-Web-Server-2\www\kniha_navstev.php on line 48
Zde je Kód
<html>
 <head>
   <title>Formulár pro pridání zápisu</title>
   <meta http-equiv="Content-Type"
    content="text/html; charset=window-1250">
 </head>
<body bgcolor="0099FF">

<?php

//Pripojení k databázy 
$db_spojeni = mysqli_connect
      ('localhost','***','***','***','3306');
      
//Otestování, zda se pripojení podarilo
if ($db_spojeni)
   echo 'Pripojení se podarilo<br /></br />';
else
 {
   echo 'Pripojení se nepodarilo, sorry!';
   echo '<br />';
   echo 'Popis chyby:',mysqli_connect_error();
   exit();
 }
 
//Správné nastavení ceštiny a poslání príkazu SQL
$objekt_vysledku = mysqli_query($db_spojeni, "SET NAMES 'cp1250'");
 if (!$objekt_vysledku)
   {                                  
   echo 'Poslání príkazu SQL se nepodarilo, sorry!';
   echo '<br />';
   echo 'Popis chyby:',mysqli_error($db_spojeni);
   }
   
//Test, jestli prišla data z formuláre
if (isset($_POST['zprava']))
{
  //Vytvorení príkazu SQL typu INSERT
  $sql_prikaz =
       "INSERT INTO kniha_navstev(datum,jmeno,email,zapis)"
       ."VALUES(NOW(),
       '".mysqli_real_escape_string($db_spojeni,$_POST['jmeno']."'
       '".mysqli_real_escape_string($db_spojeni,$_POST['email']."'
       '".mysqli_real_escape_string($db_spojeni,$_POST['zprava']."'
       )"

   //Zaslání príkazu SQL do databáze
   $objekt_vysledku = mysqli_query($db_spojeni,$sql_prikaz);
   
   if (!$objekt_vysledku)
   {                                  
   echo 'Poslání príkazu SQL se nepodarilo, sorry!';
   echo <br />;
   echo 'Popis chyby:',mysqli_error($db_spojeni);
   exit();
   }
  echo 'Nový zápis do knihy návštev pridán';
}

//Odpojení z databáze
if ($db_spojeni)
   mysqli_close($db_spojeni);
   
?>

<form name="kniha" action="" method="post">
  <b>Jméno:</b><br />
  <input name="jmeno" size="40"><br>
  <br />
  <b>E-mail:</b><br />
  <input name="email" size="40"><br>
  <br />
  <b>Zpráva:</b><br />
  <textarea name="zprava" rows="5" cols="30"></textarea><br />
  <br />
  <input type="submit" value="Odeslat zprávu">
</form>

</body>
</html>


Nevíte jak to opravit?
juriad
Profil
45. řádek nemáš ukončený středníkem.
jo.ne
Profil
Když tam hodím středník - tak vyskočí chyba
Parse error: syntax error, unexpected ';' (T_VARIABLE) in C:\Complex-Web-Server-2\www\kniha_navstev.php on line 45
:(
Asi tam mám chyb víc:(
juriad
Profil
42., 43., 44. řádka obsahuje volaní funkce mysqli_real_escape_string, které nemá uzavřený seznam argumentů.
Prostě chybí koncová kulatá závorka.
jo.ne
Profil
ajoooo moc dík, už to chodí. Děkuji


Tak už se mi normálně objeví stránka na vyplnění údajů, po jejich vyplnění se mi nepodaří zapsání a hodí to:
Pripojení se podarilo

Poslání príkazu SQL se nepodarilo, sorry!
Popis chyby:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 5

Pochopil bych z toho, že mi na řádku č.5 chybí dokončení závorky, ale na 5. řádku žádnou závorku nemám:(
Tori
Profil
Chybí vám čárky mezi vkládanými hodnotami v SQL příkazu.
jo.ne
Profil
Čárky doplněny, ale stále stejná chyba:(
anonymní
Profil *
jo.ne:
echo $sql_prikaz a napš sem, co se ti vypíše. Jsou to zákolady práce s DB (resp. řetězci), na to bys měl být schopen přijít během chvíle sám a ne bez jakékoliv snahy psát na diskusní fórum.

Pochopil bych z toho, že mi na řádku č.5 chybí dokončení závorky, ale na 5. řádku žádnou závorku nemám:(
to, že se v chybové hlášce vyskytne znak závorky ještě automaticky neznamená, že chybí. Chce to i číst, co se ti na monitor vypíše, ne hledat jen jeden znak mezi uvozovkami.
ed11
Profil
anonymní:
Diskuzní fóra jsou tu od toho.
jo.ne
Profil
Tak hlásím opraveno. Na řádku 44 jsem měl na konci řádku čárku - ta tam být neměla. Po odstranění to chodí. Děkuji všem

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0