Pomoc - Szukaj - U¿ytkownicy - Kalendarz
Pe³na wersja: Ajax
Forum PHP.pl > Forum > PHP
invx
wziolem sie za AJAX, napisalem to ponizej ... i nie dziala ;(

  1. <?php
  2. <tr>
  3. <td class='kol1'>
  4. <hr/>
  5. <form method='POST' onsubmit="advAJAX.assign(document.getElementById('schutbox/zapisz_schutbox.php'), {onSuccess : function(obj) { alert(obj.responseText); },
  6. onError : function(obj) { alert('Error: ' + obj.status); }
  7. })"
  8. $login
  9. <textarea name='tresc' rows='5' cols='25' wrap='on'></textarea><br>
  10. <span class='Wy¶lij'><input type='submit' value='Wy¶lij'></span>
  11. </form>
  12. </td>
  13. </tr>
  14. </table>
  15. ";
  16. ?>


i plik zapisujacy
  1. <?php
  2.  
  3. if ( isset( $_SESSION[id] ) )
  4. {
  5. $autor = $_SESSION[id];
  6. }
  7. else
  8. {
  9. $autor = $_POST[autor];
  10. }
  11.  
  12. $sql = "INSERT INTO schutbox SET tresc='$_POST[tresc], autor='$autor'";
  13. $wykonaj = mysql_query( $sql );
  14.  
  15. ?>


P.S.
nie jestm pewien co do dzialu .... jesi zle dalem temat poprawcie
Pokemon
1022 posty. Imponujaca liczba.
... i dalej nie wiesz ze w prawidlowym poscie powinienes napisac czym objawia sie ten problem? Co jest zle, w ktorym momencie nie dziala...

Z rozpedu czy naprawde tak odwolujesz sie do zmiennych tablicowych, jak w pliku z zapisem do bazy?

Druga sprawa to (wybaczcie jezeli pisze zle ale z Ajaxm nie mialem zbyt duzo do czynienia) odwolanie sie do obiektu w JavaScripcie.

Wywolujesz getElementById i podajesz jako parametr cos bardzo dziwnego zamiast id jakiegos obiektu. No ale ja na to patrze jak na czysty JS wiec przepraszam za ewentualny blad.
invx
nie dziala nic tongue.gif
znaczy wpisuje dane daje wyslij, strona sie nie odswieza, ale pasek wysylania przegladarki sie przeladowuje i tyle ... dane nie sa dodawane do bazy.

P.S.
co do zmiennych tablicowych to wiem niedalem ' tongue.gif
FiDO
To moze przeczytaj jeszcze raz helpa do advAJAX, bo chyba tego nie zrobiles. Nie znalem tej klasy, ale w ciagu 2 minut po przeczytaniu urywkow helpa mozna sie dowiedziec co zrobiles na pewno zle. Polecam sprobowac :]
Sabistik
ostatnio sie nudzilem i czytalem troche o tym advAJAX
Jak dobrze pamietam chciales napisac cos w rodaju schutboxa.

  1. <title>ajax</title>
  2. <script type="text/javascript" src="advajax.js"></script>
  3.  
  4. <script language="JavaScript">
  5. function pob() {
  6.  
  7. advAJAX.setDefaultParameters({
  8. onInitialization : function(obj) { document.getElementById(obj.tag).innerHTML = "Przygotowywanie..."; },
  9. onLoading : function(obj) { document.getElementById(obj.tag).innerHTML = "£adowanie..."; },
  10. onSuccess : function(obj) { document.getElementById(obj.tag).innerHTML = obj.responseText; },
  11. onError : function(obj) { document.getElementById(obj.tag).innerHTML = "B³±d..."; }
  12. });
  13. advAJAX.get({ url: "pob.php", tag: "e3_div1" });
  14. advAJAX.setDefaultParameters({});
  15. }
  16.  
  17. function ins() {
  18.  
  19. advAJAX.assign(document.getElementById("e2_form"), {
  20. onSuccess : function(obj) {
  21. pob();
  22. }});
  23. }
  24.  
  25. </head>
  26. <body onload="ins()">
  27.  
  28. <div id="e3_div1" class="e3_div"><?php include("pob.php");?></div>
  29. <br />
  30. <br />
  31.  
  32. <form method="post" action="insert.php" id="e2_form">
  33. Nick:<br />
  34. <input type="text" name="nick" /><br />
  35. Txt:<br />
  36. <input type="text" name="txt" />
  37. <br /><input type="submit" value="OK" />
  38. </form>
  39.  
  40. </body>
  41. </html>


pob.php pobieranie rekordow z bazy.
  1. <?php
  2.  
  3. mysql_connect("localhost", "usr", "pass");
  4. mysql_select_db ("cms");
  5. $result = mysql_query("select * from comments");
  6. while ($line = mysql_fetch_row($result))
  7. {
  8. echo $line['1'].": ".$line['2']."<br />";
  9. }
  10.  
  11. ?>


insert.php dodawanie rekordu do bazy.
  1. <?php
  2.  
  3. mysql_connect("localhost", "usr", "pass");
  4. mysql_select_db ("cms");
  5. $result = mysql_query("insert into comments (nick, txt) values ('".$_POST[nick]."','".$_POST[txt]."' )");
  6.  
  7.  
  8. ?>


Nie wiem czy to jest super poprawnie napisane ale dziala.
AxZx
hmmm a jak ci to dziala jak nie dziala tak jak powinno
przynajmniej u mnie:P

nie wiem po co tutaj ten JS jest skoro i tak nie jest uzyty do tego do czego chyba powinien byc.

dziala dziala smile.gif
Sabistik
To znaczy co nie dziala?
Dziala zodnie z przeznaczniem
Wpisuje do formularza nick, tekst i wciskam submit. bez odswiezenia wykonuje sie insert.php a do diva zostaje zaladowane pob.php.

Nie znam js. Wzorowalem sie na przykladach z http://advajax.anakin.us

~~edit
Ano musi dzialac winksmiley.jpg
invx
dzieki smile.gif

jednak wszystko tylko prawie dziala tongue.gif
po wyslaniu danych, pojawia sie tabela z dodanym rekordem ... ale nie pojawia sie juz formularz do wpisywania ... sad.gif, po odswiezeniu strony formularz sie pojawia, a po wyslaniu znowu znika ...

pokaz_schutbox.php
  1. <script type="text/javascript" src="advajax.js"></script>
  2.  
  3. <script language="JavaScript">
  4. function pob() {
  5.  
  6. advAJAX.setDefaultParameters({
  7. onInitialization : function(obj) { document.getElementById(obj.tag).innerHTML = "Przygotowywanie..."; },
  8. onLoading : function(obj) { document.getElementById(obj.tag).innerHTML = "£adowanie..."; },
  9. onSuccess : function(obj) { document.getElementById(obj.tag).innerHTML = obj.responseText; },
  10. onError : function(obj) { document.getElementById(obj.tag).innerHTML = "B³±d..."; }
  11. });
  12. advAJAX.get({ url: "schutbox/aaa.php", tag: "e3_div1" });
  13. advAJAX.setDefaultParameters({});
  14. }
  15.  
  16. function ins() {
  17.  
  18. advAJAX.assign(document.getElementById("e2_form"), {
  19. onSuccess : function(obj) {
  20. pob();
  21. }});
  22. }
  23. </script>
  24. <div id="e3_div1" class="e3_div"><?php include("schutbox/aaa.php");?></div>
  25.  
  26. <?php
  27.  
  28. if ( !isset( $_SESSION[id] ) )
  29. {
  30. $login = "<span class='zw3'>Login:</span><input type='text' name='autor' size='20'>";
  31. }
  32. <tr>
  33. <td class='kol1'>
  34. <hr/>
  35. <form method='POST' id="e2_form" action="schutbox/zapisz_schutbox.php">
  36. $login
  37. <textarea name='tresc' rows='5' cols='25' wrap='on'></textarea><br>
  38. <span class='Wy¶lij'><input type='submit' value='Wy¶lij'></span>
  39. </form>
  40. </td>
  41. </tr>
  42. </table>
  43. ";
  44.  
  45.  
  46. ?>


zapisz_schutbox.php
  1. <?php
  2. mysql_connect("localhost", "root", "krasnal") or die ("nie mozna polaczyc z baza");
  3. mysql_select_db(rcx) or die ("nie mozna wybrac bazy");
  4.  
  5.  
  6. if ( isset( $_SESSION[id] ) )
  7. {
  8. $autor = $_SESSION[id];
  9. }
  10. else
  11. {
  12. $autor = $_POST[autor];
  13. }
  14.  
  15. $sql = "INSERT INTO schutbox SET tresc='$_POST[tresc]', autor='$autor'";
  16. $wykonaj = mysql_query( $sql );
  17. echo"$sql";
  18.  
  19. ?>


aaa.php
  1. <?php
  2.  
  3. mysql_connect("localhost", "root", "krasnal") or die ("nie mozna polaczyc z baza");
  4. mysql_select_db(rcx) or die ("nie mozna wybrac bazy");
  5.  
  6.  <table class='tabela_gl' width='30%' cellpadding='2' cellspacing='1'>
  7. <tr>
  8. <th>Schutbox</th>
  9. </tr>
  10. ";
  11. $sql = "SELECT * FROM schutbox";
  12. $wykonaj = mysql_query ( $sql );
  13.  
  14. while( $schutbox = mysql_fetch_array( $wykonaj ) )
  15. {
  16. $sql2 = "SELECT * FROM users WHERE id='$schutbox[autor]'";
  17. $wykonaj2 = mysql_query( $sql2 );
  18. $wynik = mysql_num_rows( $wykonaj2 );
  19.  
  20. if( $wynik == 0 )
  21. {
  22. $autor = "~".$schutbox[autor];
  23. }
  24. else
  25. {
  26. while( $users = mysql_fetch_array( $wykonaj2 ) )
  27. {
  28. $autor = $users[login];
  29. }
  30. }
  31. <tr>
  32. <td class='kol1'><span class='zw3b'>[$autor]</span><span class='zw3'>$schutbox[tresc]</span></td>
  33. </tr>
  34. ";
  35.  
  36. }
  37. ?>


index.php
  1. ...
  2. <body onload="ins()">
  3. ...
  4. <?php
  5. include( "schutbox/pokaz_schutbox.php" );
  6. ?>
  7. ...
AxZx
to chyba dobrze no nie?
czyli dziala
bo z tego co widze to tak masz skrypt napisany zeby blokowal jesli juz doda wpis

zauwaz kiedy pojawia sie formularz;)
no chyba ze ja juz nic nie widze ale jest if(!isset($_SESSION........
invx
if(isset($_SESSION...))

jest nie do calego formularza, a do tworzenia jednej zmiennej odpowiedzialnej za pole do wpisywania loginu :roll2:
To jest wersja lo-fi g³ównej zawarto¶ci. Aby zobaczyæ pe³n± wersjê z wiêksz± zawarto¶ci±, obrazkami i formatowaniem proszê kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.