« 1 2 »
Autor Zpráva
x
Profil *
čau, mám problém,nějak se mi tlučou <form method="post" name="post" action="index.php">, mám index do toho mám přes include vložený menu ve kterym je i <form method="post" name="post" action="index.php"> (TAKŽE SE VYSKYTUJE NA KAŽDÝ STRÁNCE) a pak tam o5 přes include vloženej obsah (POKAŽDÝ JINEJ) když přes GET otevřu stránku na který je další <form method="post" name="post" action="index.php"> (TAKŽE MÁM NAJEDNOU OTEVŘENÝ 2 FROM...) tak ani jedno nefunguje tak jak by mělo... konkrátně se jedná o formuláře propojený s databází, doplnit formuláře a odeslat je jde, ale nejde do nich pomocí
<a value="b" onclick="javascript: add_font('*1*')"/><img src="smajlici/1.gif"></a>
<a value="b" onclick="javascript: add_font('*2*')"/><img src="smajlici/2.gif"></a>


vložit například smajlík nebo tagy img, code atd...

vubec nevim co s tim, formuláře v obsahu fungujou jen když z menu umažu <form method="post" name="post" action="index.php">, ale pak zas nufunguje formulář v menu... :(
Str4wberry
Profil
Neměl bys koknkrétní stránku. Z těchto náznaků bohužel moc nevyčtu.
x
Profil *
Stačí to takhle ?


Includováno v menu (nachází se na každý stránce)

<table>
<script language="JavaScript" type="text/JavaScript">
   function add_font(font) {
   document.post.obsah.value+=' '+font+' ';
   }
  </script>
<form method="post" name="post" action="index.php">
<tr><td>
 <a value="b" onclick="javascript: add_font('*1*')"/><img src="smajlici/1.gif"></a>
 <a value="b" onclick="javascript: add_font('*2*')"/><img src="smajlici/2.gif"></a>
 <a value="b" onclick="javascript: add_font('*3*')"/><img src="smajlici/3.gif"></a>
 <a value="b" onclick="javascript: add_font('*4*')"/><img src="smajlici/4.gif"></a>
 .
 .
 .
 .
 .

</td></tr>


<tr><td>

<font color="#FAFE36" size="2"><input type="text" name="nick" id="shoutboardnick" value"<? echo $_POST["nick"]; ?>"/>
<font color="#FAFE36" size="2"><textarea name="obsah" id="shoutboardobsah" cols="10" rows="3" wrap="soft"><? echo $_POST["obsah"]?></textarea>

<input type="submit" name="odeslat" value="Odeslat" id="shoutboardodeslat" />
</td></tr>
</form>

<?php 
$s1 = ("smajlici/1.gif");
$s2 = ("smajlici/2.gif");
$s3 = ("smajlici/3.gif");
.
.
.
.
.


$dbuser="x";

$dbpass="x";
 
$dbhost="x";

$db="x";

$connect=mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($db);
if ($_POST){
if ($_POST["obsah"]=="" || $_POST["nick"]=="") echo "<tr><td id='ozn'>OBSAH A NICK MUSÍ BÝT VYPLNĚN !</td></tr>";
else {
$obsah=$_POST["obsah"];
$obsah=strip_tags($obsah);
$obsah=str_replace("*1*","<img src=".$s1.">",$obsah);
$obsah=str_replace("*2*","<img src=".$s2.">",$obsah);
$obsah=str_replace("*3*","<img src=".$s3.">",$obsah);
.
.
.
.
.

$obsah=nl2br($obsah);
$insert=mysql_query("INSERT INTO shoutboard(nick,obsah) VALUES ('".$_POST["nick"]."','".$obsah."')",$connect);
if($insert) echo "<tr><td id='ozn'>VÁŠ PŘÍSPĚVEK BYL PŘIDÁN</td></tr>";
elseif (!$insert) echo "<p>CHYBA</p>";
}
}
$select1=mysql_query("SELECT * FROM shoutboard order by id desc LIMIT 5",$connect);
for($i=0;$i<mysql_num_rows($select1);$i++){
        $area2=mysql_fetch_row($select1);
        mysql_num_fields($select1);
		$transcript=mysql_query("SELECT * FROM shoutboard where id='".$area2[0]."' order by id desc",$connect);
		$transcript2=mysql_fetch_array($transcript);

echo"<tr><td>".$transcript2["nick"]." <br>".$transcript2["obsah"]."</td></tr>";
}


?>
</table>
</div>


Obsah určité stránky

<script language="JavaScript" type="text/JavaScript">
   function add_font(font) {
   document.post.obsah.value+=' '+font+' ';
   }
  </script>
<form method="post" name="post" action="index.php?str=berry">
<table>
<tr>
 <td width="500px">
 <a value="b" onclick="javascript: add_font('*1*')"/><img src="smajlici/1.gif"></a>
 <a value="b" onclick="javascript: add_font('*2*')"/><img src="smajlici/2.gif"></a>
 <a value="b" onclick="javascript: add_font('*3*')"/><img src="smajlici/3.gif"></a>
 .
 .
 .
 .

</td>
</tr>
<tr>
<td width="100" bgcolor="#2d353a">
<font color="#FAFE36" size="2">Nick : <br><input type="text" name="nick" antributem size="36" value"<? echo $_POST["nick"]; ?>"/>
</td>
</tr>
<tr>
<td width="100" bgcolor="#2d353a">
<font color="#FAFE36" size="2">Obsah : <br></font><textarea name="obsah" cols="60" rows="3" wrap="soft"><? echo $_POST["obsah"]?></textarea>
</td>
</tr>
<tr>
<td>
<input type="submit" name="odeslat" value="Odeslat" />
</td>
</tr>
</table>
</form>


<div class="diskuze">

<?php 
$s1 = ("smajlici/1.gif");
$s2 = ("smajlici/2.gif");
$s3 = ("smajlici/3.gif");
$s4 = ("smajlici/4.gif");
.
.
.
.
.

$dbuser="x";

$dbpass="x";
 
$dbhost="x";

$db="x";

$connect=mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($db);
if ($_POST){
if ($_POST["obsah"]=="" || $_POST["nick"]=="") echo "<p>OBSAH A NICK MUSÍ BÝT VYPLNĚN !</p>";
else {
$obsah=$_POST["obsah"];
$obsah=strip_tags($obsah);
$obsah=str_replace("*1*","<img src=".$s1.">",$obsah);
$obsah=str_replace("*2*","<img src=".$s2.">",$obsah);
$obsah=str_replace("*3*","<img src=".$s3.">",$obsah);
.
.
.
.
.


$obsah=nl2br($obsah);
$insert=mysql_query("INSERT INTO berry(nick,obsah) VALUES ('".$_POST["nick"]."','".$obsah."')",$connect);
if($insert) echo "<p>VÁŠ KOMENTÁŘ BYL PŘIDÁN</p>";
elseif (!$insert) echo "<p>CHYBA</p>";
}
}
$select1=mysql_query("SELECT * FROM berry order by id desc",$connect);
for($i=0;$i<mysql_num_rows($select1);$i++){
        $area2=mysql_fetch_row($select1);
        mysql_num_fields($select1);
		$transcript=mysql_query("SELECT * FROM berry where id='".$area2[0]."' order by id desc",$connect);
		$transcript2=mysql_fetch_array($transcript);

echo"<table><tr><td>Nick : ".$transcript2["nick"]." <br> Obsah : ".$transcript2["obsah"]."</td></tr></table>";
}
?>


</div>
x
Profil *
ted sem ještě zjistil, že když mám otevřenou tu stránku kde je from.... tak ne jenom že nejde vkládat smajliky tagy... ale když do jednoho formuláře něco napíšu a odešlu tak se mi to vypíše do obou, takže i do obou tabulek v databázi...

btw: sorry za ten kod, měl sem to ještě víc skrátit :(
x
Profil *
pls helpněte mi s tim někdo, kvuli tomu mi ted nefunguje ani jeden formulář tak jak by měl.... :(
x
Profil *
Str4wberry

Tak co, víš co s tim nebo ne ? mě jinak napadá jediný řešení a to je smazat ten formulář v menu, sice bych to dál hodně nerad ale pokud nenajdu jiný řešení tak mi nic jinýho nezbyde :(
x
Profil *
to fakt nikdo nevíte co by se s tim dalo udělat ? :(((
Str4wberry
Profil
Odpovídám x:
Já spíš nepochopil, co je vlastně cílem. Co nefunguje atp. Možná nejsem sám…
x
Profil *
Str4wberry

Ok, tady sem z kodu vytáhnul to podstatný, snad z toho pochopíš o co myslim...(je to dělaný hodně narychlo...)

http://nasra-t.kx.cz
Jan Tvrdík
Profil
x
Formuláře mají stejný name. Nastav každému jiný a nepohádají se :)
x
Profil *
Jan Tvrdík

Bohužel to nefunguje nevim proč ale když změnim name bud u jednoho nebo u obou tak při najetí na STRÁNKU 2 a kliknutí na smajlika se vkládá do povídátka nalevo a když do formuláře na stránce 2 vložim nákej text a dám odeslat tak se opět nahrává do obou tabulek...
Jan Tvrdík
Profil
x
1. Aby fungovalo vkládání smajlíků přes JS, musí mít formuláře jiný name (+ samozdřejmě přízbusobit ten JS, jestli ti to nedošlo) - to na výše zmíněné adrese pořád nevidím, že by jsi opravil.
2. To že se to vloží do obou tabulek je záležitost php. Problém je, že podle toho, jak jsem se na ty stránky díval, nelze pomocí php zjistit, do kterého formuláře to bylo vloženo, protože je stejný action i jména polí.
x
Profil *
Jan Tvrdík
já jsem to zkusil a pak sem to zas vrátil zpátky tak jak to bylo, proto nevidíš žádnou změnu...

dal sem jinej název u form, to samí sem udál u JS aby to souhlasilo, takže u toho prvniho je to shouboard a u toho druhýho je to post, u jednoho kodu (konkretně u toho druhýho- strana2) sem dal jiný názvy u formláře to samí sem udál v databázi a JS zase aby to souhlasilo...pořád se to ale při odeslání snaží odeslat oba formuláře najednou, a sajlici se pořád vkládaj do toho prvního formuláře... ted je to tam nahraný tak jak sem tu vypisoval, mužeš to zkusit...

action nemám stejný jednou je index.php?str=index a podruhý index.php?str=strana2...

další pokus nevyšel, ale i tak díky že se mi snažíš poradit... možná že mi tam ještě něco nesouhlasí, sice tam nic nevidim ale zkus se podivat na kod třeba tam je něco blbě...
Jan Tvrdík
Profil
Vycházím z http://nasra-t.kx.cz/index.php?str=strana2
IMHO už to funguje. Jen máš pořád stejný name u tlačítka odeslat a to s tím JS jsi úplně nepochopil, ale teď spěchám do školy, tak že ti to vysvětlím potom. Jinak odesílání funguje a vloží se vždy do správné tabulky.
Jan Tvrdík
Profil
Jo a ještě jeden bug:
místo:
<form action="index.php?str=index" name="shoutboard" method="post"/>

má být
<form action="index.php?str=index" name="shoutboard" method="post">
x
Profil *
Jan Tvrdík
Vlkládání nejde, a s tim odesílánim máš pravdu de to ale když na straně 2 něco odesílám tak mi u shoutboardu vyskočí hláška že sem nic nedoplnil tudíž se odesílá taky ale nemám zadaný žádný hodnoty, ale to je celkem jedno to neni takovej problem...

<form action="index.php?str=index" name="shoutboard" method="post"/>
tohle si myslel jak ? nic takovýho tam nemám...
Jan Tvrdík
Profil
x
1. Tím funkčím JS jsem myslel toto:
<script language="JavaScript" type="text/JavaScript">
   function add_font(co, kam) {
     if(kam == "shoutboard")
       document.shoutboard.obsah.value += ' ' + co + ' ';
     else if(kam == "obsah1")
       document.obsah1.obsah.value += ' ' + co + ' ';
   }
</script>

+ samozdřejmě správné volání: např. add_font('*1*','shoutboard');

2. S tím dvojitým odesíláním: Data se pošlou 1x, jen php o tom nevím => jde o chybu na straně PHP, které nevidím, a proto ani neopravím. Obecně bych řekl, že ti koliduje name u tlačítka odeslat (jak jsem již psal).

3. nic takovýho tam nemám...
Ano díval jsem se do zdroje a opravdu to tam není. Zkopíroval jsem to s FireBugu. Problémem je, že nemáš korektně zanořené tagy, a proto to struktuta toho form není v DOM vidět. (toto sice není pravděpodobně příčina problému, ale je lepší to opravit)

4. Něco opravdu mimo téma: <a href="index.php?str=index">>> ZPĚT NA INDEX <<</a> Slyšel jsi někdy něco o entitách? Takovýhle dokument spadne i při validaci.
Chamurappi
Profil
Reaguji na Jana Tvrdíka:
<a href="index.php?str=index">>> ZPĚT NA INDEX <<</a> Slyšel jsi někdy něco o entitách? Takovýhle dokument spadne i při validaci.
Tohle je naprosto OK a validací to projde.
Jan Tvrdík
Profil
Chamurappi
Přijde mi to na hlavu, ale uznávám, že jsi na validaci větší odborník, takže máš asi pravdu. Tvůj validátor nenadává, zatím co oficiální spadne: http://validator.w3.org/check?uri=http%3A%2F%2Fnasra-t.kx.cz%2Findex.p hp%3Fstr%3Dstrana2&ss=1
x
Profil *
Jak to vypadá tak ten novej JS funguje du to aplikovat do stránek, to odesilani neni zas takovej problem druhá tabulka se stejně nevipíše když nemá zadaný hodnoty akorát tam vyskočí ta hláška...

o entitách sem opravdu neslyšel, ani validita mi (skoro) nic neřiká...

hrabu se v tvorbě stránek něco málo přes rok, dost sem se toho naučil ale většinu pořád (moc) nechápu ani hned tak nepochopim, občas zkoušim php většinou bez výsledku... JS mi neřiká už vubec nic a to by se mi poslední dobou docela hodil...
Grizzly
Profil *
Chamurappi
Přijde mi to na hlavu, ale uznávám, že jsi na validaci větší odborník, takže máš asi pravdu. Tvůj validátor nenadává, zatím co oficiální spadne: http://validator.w3.org/check?uri=http%3A%2F%2Fnasra-t.kx.cz%2Findex.p hp%3Fstr%3Dstrana2&ss=1


Na hlavu to není. Není totiž validace, jako validace. Mezitím, co si na českém validátoru děláme stránky a dají se psát skoro poslepu validní, tak v oficiálním se člověk, který v tom dělá poprvé, může doslova připo****. Asi nás mají v cizině ještě za handicapované, takže to raději ořezali:-D
Chamurappi
Profil
Už jsme hodně mimo téma.

Reaguji na Grizzlyho:
Intenzivnější testování je v českém validátoru. Oficiální validátor ovšem rád fatálně selhává na nesmyslech, třeba kvůli chybějící deklaraci kódování, což je tento případ.

Reaguji na Jana Tvrdíka:
Pokud za znaky & a < nenásleduje znak dovolený na začátku názvů entit či elementů (typicky [a-Z]), tak jsou tyto znaky chápané jako obyčejná znaková data, nemají speciální význam a nemusí se zapisovat entitou. V tom se shodnou všechny prohlížeče i oba validátory.
x
Profil *
ještě jednu věc bych potřeboval poradit, sice to k tomuhle napatří ale zas mi přijde zbytečný zakládat nový téma.
při odesílání formuláře bych potřeboval nák do databáze uložit čas a datum odeslání a pak to zas nák vypsat do stránky k ostatnim udajum z formuláře... možná bych to dal nák dohromady ale vubec mě nenapadá jak začít,možná tak bych věděl jak zapsat čas kterej se furt mění, kterej je pořád atkuální, ale s timhle si nevim rady...

(jestli to nák vadí, tak založim nový téma)
Jan Tvrdík
Profil
x
Já ukládám čas do DB do výsledek funkce time (jako int), ale správně by se asi měli používat funkce pro práci s datem a česem a taky datový typ na čas:
http://dev.mysql.com/doc/refman/5.0/en/datetime.html
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
x
Profil *
tak sem zjistil že s php neumim vlastně nic, vubec z toho nejsem moudrej... nemoh bys mi to pls nák rozepsat, i třeba jak to děláš ty, to je uplně jedno hlavně když to bude fungovat...:(
Jan Tvrdík
Profil
Pokud nic neumíš, tak se uč: http://linuxsoft.cz/php

jinak:
mysql_query("INSERT into tabulky (cas) values(".time().")");
x
Profil *
sorry, ale pořád sem nák mimo, jestli to chápu tak si mi ted nasal čás kodu pro odeslání hodnoty .time. do tabulky (nazev moji tabulky) a řádku cas, jestli sem to napsal správně tak to chápu až na - values(".time.")"); nevim co s tim, mám to brát jako proměnou, ve který má bejt něco s tim časem ? vim že tu zas řešíme uplně jednoduchý věci, ale mám v tom děsnej guláš...
Jan Tvrdík
Profil
Má tam být samozdřejme time() -> je to funkce :)
x
Profil *
a takhle je to teda celý, ted by se měl do databaze zapsat čas kdy jsem to odeslal, ta funkce time() je takhle celá ?
Jan Tvrdík
Profil
x
těžko radit člověku, který toho o php a mysql ví velmi málo :'(
Ano, ta funkce je takhle celá - http://cz2.php.net/manual/cs/function.time.php - jako parametr přijímá void = nic a vrací int = číslo
« 1 2 »

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0