Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][AJAX] Wysyłanie zmiennych
Forum PHP.pl > Forum > Przedszkole
gabcio
Witajcie,

Mam mały problem ze skryptem:

  1. <script>
  2. $(document).ready(function()
  3. {
  4. $("#username").blur(function()
  5. {
  6.  
  7. $("#msgbox").removeClass().addClass('messagebox').text('Sprawdzam...').fadeIn("slow");
  8.  
  9. $.post("page/check_username.php",{ user_name:$(this).val() } ,function(data)
  10. {
  11. if(data=='no')
  12. {
  13. $("#msgbox").fadeTo(200,0.1,function()
  14. {
  15.  
  16. $(this).html('<img src="images/error.png">').addClass('messageboxerror').fadeTo(900,1);
  17. });
  18. }
  19. else
  20. {
  21. $("#msgbox").fadeTo(200,0.1,function()
  22. {
  23.  
  24. $(this).html('<img src="images/accepted.png">').addClass('messageboxok').fadeTo(900,1);
  25. });
  26. }
  27.  
  28. });
  29.  
  30. });
  31. });
  32. </script>


Gdy w formularzu wpiszę nazwe ok sprawdza i mnie o tym informuje czy jest wolny czy nie
ale gdy np: zmienię z $.post("page/check_username.php" na $.post("?page=check_username"
To już sobie poradzić nie umie cały czas pokazuje , że jest wolny a jak zamienię na pierwszą metodę to działa.

A drugie pytanie to w jaki sposób też wysłać zmienną sesji przez ten post? bo jeżeli nie znajdę sposobu na drugą metodę to chcę wysłać sesje i sprawdzać czy jest i dawać dostęp wtedy to pliku.

Pozdrawiam
amii
Ale co to jest za konstrukcja $.post("?page=check_username" ?
Metoda post przesyła dane właśnie post-em a tutaj tworzysz jakieś cuda, doczepiasz zmienne. Jesli chcesz doczepić zmienne w ten sposób to używaj $.get

Wartość zmiennej przypisujesz do formularza jako pole hidden. Coś na kształt:
  1. <input type='"hidden" id="sesja" value="<?php echo $_SESSION['zmienna']; ?>"> a następnie pobierasz do JS
gabcio
Dzięki za odpowiedz.

Ale niestety nie działa zmiana z post na get.
amii
Pokaż kod
gabcio
  1. <script>
  2. $(document).ready(function()
  3. {
  4. $("#username").blur(function()
  5. {
  6. //remove all the class add the messagebox classes and start fading
  7. $("#msgbox").removeClass().addClass('messagebox').text('Sprawdzam...').fadeIn("slow");
  8. //check the username exists or not from ajax
  9. $.getx("?page=check_username",{ user_name:$(this).val() } ,function(data)
  10. {
  11. if(data=='no') //if username not avaiable
  12. {
  13. $("#msgbox").fadeTo(200,0.1,function() //start fading the messagebox
  14. {
  15. //add message and change the class of the box and start fading
  16. $(this).html('<img src="images/error.png">').addClass('messageboxerror').fadeTo(900,1);
  17. });
  18. }
  19. else
  20. {
  21. $("#msgbox").fadeTo(200,0.1,function() //start fading the messagebox
  22. {
  23. //add message and change the class of the box and start fading
  24. $(this).html('<img src="images/accepted.png">').addClass('messageboxok').fadeTo(900,1);
  25. });
  26. }
  27.  
  28. });
  29.  
  30. });
  31. });
  32. </script>


Druga strona:

  1.  
  2. <?php
  3. require_once("sql/config.php");
  4. require_once("inc/inc_pwd.php");
  5. if($_SESSION['admin'] == '') {
  6. header('Location: index.php');
  7. }
  8. $login = usun($_GET['user_name']);
  9.  
  10. $CheckU = exec_query("SELECT * FROM systems.users where login = '$login'");
  11. $Put = mysql_fetch_object($CheckU);
  12.  
  13. if($login == '') {
  14. header('Location: ../index.php');
  15. } else {
  16. if($Put->login == $login) {
  17. echo "no";
  18. }else{
  19. echo "yes";
  20. }
  21. }
  22. ?>
  23.  
amii
Zobacz jak powinno wykonywać się funkcję $.get -> http://api.jquery.com/jQuery.get/
Naprawdę jQuery ma super manual i wszystko jest tam opisane tak jasno jak tylko może być.

To co tutaj wywołujesz nijak się ma do tego co jest w manulau, wywołujesz getx nie ma czegoś takiego, po za tym zła składnia.
$.getx("?page=check_username",{ user_name:$(this).val() } ,function(data) {})

gabcio
Ok, dzięki smile.gif
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.