Odeslani formu bez nacteni stranky – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Odeslani formu bez nacteni stranky – JavaScript, AJAX, jQuery – Fórum – Programujte.comOdeslani formu bez nacteni stranky – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

tribalcz0
Super člen
13. 9. 2012   #1
-
0
-

ahoj v tehle casti sem novacek a potreboval bych pomoci jak odeslat formular bez znovunaceni jde o to ze neodesilam data z formu na jinej php soubor tudiz jakmile nekdo znovunacte stranku treba kvuli nahodnemu obsahu nebo protoze se mu treba nenacte vse tak se forular odesle  znovu momentalne mi jde o questbook data odesilam timto kodem 

<?php
        include "../auth/connect.php";// připojení k databázi

        if(isset($_POST['odeslat'])) {
            
        $nick = $_POST['name'];
        $text = $_POST['text'];
    
        /* --- KONTROLA ZADANÝCH ÚDAJŮ --- */
         if($nick==""){
            echo"<div style='color:red;font-weight:bold;'>Nebylo vyplněno pole nick</div>";
        }
        else if($text=="") {echo "<div style='color:red;font-weight:bold;'>Nebyl napsán žádný vzkaz</div>";
        } else {
        $sql= mysql_query("INSERT INTO questbook VALUES ('','$nick','$text')") or die(mysql_error());
        echo"<div style='color:green;font-weight:bold;'>Vaše zpráva byla úspěšně odeslána!</div>";
        }
    }
?>
<div id="questform_style" class="questform">
    <form id="questform" name="form" method="post" action="#">
        <center>
            <h2>Questbook</h2>
        </center>
        <center>Nick</center>
        <input type="text" name="name" id="name" tabindex="1" /><br />
        <center>Zpráva</center>
        <textarea name="text" rows="5" id="text" tabindex="2"></textarea>
        <button type="submit" name="odeslat">odeslat</button>
    </form>
<p></p>
<div id="responsecontainer"></div></div>

dale by me zajimalo zda se taklovy zpusob odesilani nebude hadat s tim divem responsecontainer je to autoreload stranky aby se komentare z quest booku zobrazovyl ostatnim uzivatelum par sekund po ulozeni dale jsem se chtel zeptat jaky vliv ma autoreload na rychlost nacitani a obycejnem hostingu pokud se na webu v jednu chvili sejde treba 10 uzivatelu mam to nastavene na 2,5 sekundy

Nahlásit jako SPAM
IP: 78.102.20.–
tribalcz0
Super člen
13. 9. 2012   #2
-
0
-

nasel jsem tenhle script 

$(document).ready(function(){
	$('button').click(function() {
		$.post("../inc/comment.php",
			{ 	name: $('#name').val(),
				text: $('#text').val()
			}, function(data){
				var html = '<ul>';
				html += '<li><div id="posted_name">Autor: '+ $('#name').val() +'</div>';
				html += '<div id="posted_text">'+ $('#text').val() +'</div></li>';
				html += '<ul>';

				$('.comments').append($(html));
			}
		);

		return false;
	});
});

ale nejak to nefunguje v souboru comment.php by to melo vypsat obsah te formy ale jedine co to vypise je ARRAY() neuklada se to do db coz neni muj puvodni zamer ale pak staci  ten script osekat takto 

$(document).ready(function(){
	$('button').click(function() {
		$.post("../inc/comment.php",
			{ 	name: $('#name').val(),
				text: $('#text').val()
			}, 
		);

		return false;
	});
});

a do souboru comment.php vepsat script na odesilani do db a melo by to byt ok ze

Nahlásit jako SPAM
IP: 78.102.20.–
tribalcz0
Super člen
13. 9. 2012   #3
-
0
-

tak sem vyresil problem se script comment.php includoval sem to misto toho baych to zobrazoval v divu 

<div class="comments"></div>

ale ukladani do db je stejne jako kdyz npouziju jquery ale samotne php tj.

<?php
        include "../auth/connect.php";// připojení k databázi

        if(isset($_POST['odeslat'])) {
            
        $nick = $_POST['name'];
        $text = $_POST['text'];
    
        /* --- KONTROLA ZADANÝCH ÚDAJŮ --- */
         if($nick==""){
            echo"<div style='color:red;font-weight:bold;'>Nebylo vyplněno pole nick</div>";
        }
        else if($text=="") {echo "<div style='color:red;font-weight:bold;'>Nebyl napsán žádný vzkaz</div>";
        } else {
        $sql= mysql_query("INSERT INTO questbook VALUES ('','$nick','$text')") or die(mysql_error());
        echo"<div style='color:green;font-weight:bold;'>Vaše zpráva byla úspěšně odeslána!</div>";
        }
    }
?>

a vypisovat z db budu potom takto 

<div id="responsecontainer"></div>

tj jako v puvodnim sctiptu???

Nahlásit jako SPAM
IP: 78.102.20.–
Sopta0
Návštěvník
14. 9. 2012   #4
-
0
-

Ahoj,

v tom původním scriptu dynamicky vkládáš nový příspěvek do stránky, ale u toho tvýho, pokud jsem to správně pochopil, máš něco jako:

<div id="responsecontainer"> <?php include_once('gb-list.php'); ?></div>

Takže ten který příspěvek práve uložil neuvidí změnu. Myslím, že takhle si to chtěl udělat v tom tvém zadaní ne? A navíc se Ti ani nevypíše, že byl komentář uložen.

Nahlásit jako SPAM
IP: 80.90.129.–
Sotolář Zdeněk
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 21 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý