Autor Zpráva
paul
Profil *
Mam tak trochu a nejsem si jist jak to vyřešít vkládam radši celý kód jde mi o to že vše vlastně funguje formulář se vypíše ale nechce se odeslat kdyby to ukázalo aspoň chybu ale takhle...
<?
require "config.php";

$z = kontrola(); // kontrola hesla
$cas = Time();
$limit = $cas - 1800;
$string = "?id=".$id."&pass=".$pass;
$cas2 = Date("H:i:s", Time());
$datum = Date("d.m.", Time());

if ($send && $zprava !=""): // pokud byly odesány data
   if ($komu > 0): // pokud je definován příjemce
      @$v = mysql_query("SELECT nick FROM active WHERE id = '$komu'");
      @$x = mysql_fetch_row($v);
      $komunick = $x[0];
   else: // pokud není určen příjemce 
      $komu = 0;
      $komunick = "";
   endif;
   // odstraníme z příspěvku HTML tagy
   $zprava = HTMLSpecialChars($zprava);




   // vložíme příspěvek do databáze
   @$v = mysql_query("INSERT INTO chatroom
                      VALUES ('','$id','$z[0]','$komu',
                              '$komunick','$cas','$cas2','$zprava','$ip','$barva','$datum')");
   // aktualizujeme čas poslední odezvy uživatele
   @$v = mysql_query("UPDATE active SET cas = '$cas' WHERE id = '$id'");


header("Location: sklo.php$string");

endif;

// začátek výstupu skriptu

Header("Pragma: No-cache");
Header("Cache-Control: no-cache");
Header("Expires: ".GMDate("D, d M Y H:i:s")." GMT");
?>

<HTML>
<HEAD>
<? include "include/web/head.inc"; ?>
<TITLE>PSÁT <? include "include/web/title.inc"; ?></TITLE>
</HEAD>
<BODY>
<div id="menu">
<? include "include/menu.inc"; ?>
</div>

<?
$pripoj=MySQL_Connect($se, $us, $pa) or Die(MySQL_Error());
MySQL_Select_Db($db) or Die(MySQL_Error());

$dotaz="SELECT barva2 FROM users WHERE nick LIKE '$z[0]'";
//vytvoření sql dotazu
$vysledek = MySQL_Query($dotaz); // provedení sql dotazu


while ($zaznam = MySQL_Fetch_Array($vysledek)){
$barva=$zaznam["barva2"];

 echo "<FORM name=\"f\" ACTION=\"psat.php$string\" METHOD=\"POST\">";
 echo "<strong>$z[0]: </strong>";
 echo "<INPUT TYPE=\"HIDDEN\" NAME=\"ip\" VALUE=\"REMOTE_ADDR;\">";
 echo "<INPUT TYPE=\"HIDDEN\" NAME=\"id\" VALUE=\"$id\">";
 echo "<INPUT TYPE=\"HIDDEN\" NAME=\"pass\" VALUE=\"$pass\">";
 echo "<INPUT TYPE=\"HIDDEN\" NAME=\"barva\" VALUE=\"$barva\">";
 echo "<INPUT TYPE=\"TEXT\" NAME=\"zprava\" SIZE=\"50\">";
 echo "<SELECT NAME=\"komu\">";
 echo "<OPTION VALUE=\"0\">Všem</OPTION>";
   // zobrazíme v SELECTu všechny aktivní uživatele

   @$v = mysql_query("SELECT id,nick FROM active WHERE cas > '$limit'");
   while ($z = mysql_fetch_row($v))
   {
      echo "<OPTION VALUE=\"$z[0]\">$z[1]</OPTION>";
   }
 echo "</SELECT>";
 echo "<INPUT TYPE=\"SUBMIT\" VALUE=\"Odeslat\">";
 echo "</FORM>";


}
?>
</BODY>
</HTML>
Alphard_
Profil *
paul:
kdyby to ukázalo aspoň chybu ale takhle...
Tak dejte pryč ty @.

formulář se vypíše ale nechce se odeslat
Můžete to upřesnit? To kliknete na Odeslat a nic se nestane?
paul
Profil *
ty @ nicneudělali jak sem očekával
tak kliknu na odeslat a stránka se aktualizuje nebo načte to je jedno ale nezapíše se to do databáze a ani nepřesměruje na sklo.php
Alphard
Profil
paul:
jak sem očekával
Tak se neptejte :-)

Dejte tam print_r($_POST), tím zjistíme, jestli třeba není problém v nastavení register globals.
paul
Profil *
ne vypíše to jen Array ( )
Alphard
Profil
[#5] Po vyplnění formuláře a odeslání? Dal jste to do úvodní části zpracovávající data? Ještě radši zakomentujte to přesměrování.
Jestli nic z toho nepomůže k vypsání dat, tak sem zkopírujte vygenerovaný html zdroj formuláře.
paul
Profil *
tak přesměrování to je jen 34 řádek a vypíše to
<HTML>
<HEAD>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="js.js"></script><TITLE>PSÁT  - CHAT verze 0.2</TITLE>
</HEAD>
<BODY>
<div id="menu">
<a href="sklo.php?id=99&pass=c1d1e35f01ae4097c462a8bf3c013bf3">Sklo</a> |
<a href="historie.php?id=99&pass=c1d1e35f01ae4097c462a8bf3c013bf3">Historie</a> |
<a href="psat.php?id=99&pass=c1d1e35f01ae4097c462a8bf3c013bf3">Psát</a> |
<a href="lide-online.php?id=99&pass=c1d1e35f01ae4097c462a8bf3c013bf3">Lidé Online</a> |
<a href="/chat/chat.php?id=99&pass=c1d1e35f01ae4097c462a8bf3c013bf3" target="_parent">Standartní verze</a> |
<a href="odejit.php?id=99&pass=c1d1e35f01ae4097c462a8bf3c013bf3">Odejít</a>
<hr class="hr-style1"></div>
<FORM name="f" ACTION="psat.php?id=99&pass=c1d1e35f01ae4097c462a8bf3c013bf3" METHOD="POST"><strong>Admin: </strong><INPUT TYPE="HIDDEN" NAME="ip" VALUE="REMOTE_ADDR;"><INPUT TYPE="HIDDEN" NAME="id" VALUE="99"><INPUT TYPE="HIDDEN" NAME="pass" VALUE="c1d1e35f01ae4097c462a8bf3c013bf3"><INPUT TYPE="HIDDEN" NAME="barva" VALUE="#006600"><INPUT TYPE="TEXT" NAME="zprava" SIZE="50"><SELECT NAME="komu"><OPTION VALUE="0">Všem</OPTION><OPTION VALUE="99">Admin</OPTION></SELECT><INPUT TYPE="SUBMIT" VALUE="Odeslat"></FORM>
</BODY>
</HTML>
Alphard
Profil
Na 69. řádku vám chybí $, ale v tom problém není.

V tom formuláři chybu nevidím. Když trochu omezím problém, může zkusit tohle:
<?php
  print_r($_POST);
?>

      <FORM METHOD="POST">
        <strong>Admin: </strong>
        <INPUT TYPE="HIDDEN" NAME="ip" VALUE="REMOTE_ADDR;">
        <INPUT TYPE="HIDDEN" NAME="id" VALUE="99">
        <INPUT TYPE="HIDDEN" NAME="pass" VALUE="c1d1e35f01ae4097c462a8bf3c013bf3">
        <INPUT TYPE="HIDDEN" NAME="barva" VALUE="#006600">
        <INPUT TYPE="TEXT" NAME="zprava" SIZE="50">
        <SELECT NAME="komu">
          <OPTION VALUE="0">Všem</OPTION>
          <OPTION VALUE="99">Admin</OPTION>
        </SELECT>
        <INPUT TYPE="SUBMIT" VALUE="Odeslat">
      </FORM>
Po načtení stránka by se mělo objevit Array ( ) a po vyplnění a odeslání něco jako Array ( [ip] => REMOTE_ADDR; [id] => 99 [pass] => c1d1e35f01ae4097c462a8bf3c013bf3 [barva] => #006600 [zprava] => Pokus [komu] => 99 ).
paul
Profil *
no ano ukázalo se
Array ( [ip] => REMOTE_ADDR; [id] => 99 [pass] => c1d1e35f01ae4097c462a8bf3c013bf3 [barva] => #006600 [zprava] => text [komu] => 0 )
AM_
Profil
paul:
Mam tak trochu a nejsem si jist jak to vyřešít vkládam radši celý kód jde mi o to že vše vlastně funguje formulář se vypíše ale nechce se odeslat kdyby to ukázalo aspoň chybu ale takhle...
Víš, že na fóru se toleruje jen čeština a slovenština? Promiň, ale tahle věta se nepodobá ani jednomu z těchto jazyků.

Za řádkem 27 si vypiš mysql_error(), případně si vypiš string toho dotazu (místo do mysql_query ho pošli do echo) a pak přesně stejný dotaz zkopíruj do phpmyadmina, tam přehledně uvidíš, kde může být chyba.
paul
Profil *
jo čeština neni mojí silnou stránkou

tak vypsalo to
#1064 - 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 'mysql_error("INSERT INTO chatroom
                      VALUES ('','$id','$z[0]' at line 1 

nevim mě to pžipadá dobře
AM_
Profil
ty jsi kouzelník :D
echo mysql_error()
máš napsat ZA volání toho query,ne to narvat doprostřed mysql dotazu :)
paul
Profil *
no já mysql_error() moc nechápu ani ho většinou nepotřebuju takže to sem schopnej jak píšeš narvat klidně kamkoliv :))
AM_
Profil
paul:
takže to sem schopnej jak píšeš narvat klidně kamkoliv :))
to není moc k smíchu, raději bys měl nejdřív přemýšlet/nahlédnout do dokumentace na php.net a pak to teprve někam rvát, a ušetřil bys sobě i nám čas. metodou pokus/omyl se dá dělat spousta věcí, ale ne programování.

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