login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[AJAX] Gebeurd niets.

Offline mike87 - 03/11/2006 23:36 (laatste wijziging 04/11/2006 00:28)
Avatar van mike87Nieuw lid Ik wil DMV AJAX iets uit me database verwijderen.
Het probleem is nu alleen dat er niets gebeurd, het record wordt niet verwijderd en ik krijg verder geen foutmeldingen te zien.

Ik ben net begonnen met AJAX toe te passen in script dus heb er nog niet heel veel verstand van waardoor ik nu ook niet weet wat er fout is.

Ik heb het volgende JS:
  1. function create_http_object()
  2. {
  3. var ActiveXTypes = [
  4. "Microsoft.XMLHTTP",
  5. "MSXML2.XMLHTTP.5.0",
  6. "MSXML2.XMLHTTP.4.0",
  7. "MSXML2.XMLHTTP.3.0",
  8. "MSXML2.XMLHTTP"
  9. ];
  10.  
  11. for( var i = 0; i < ActiveXTypes.length; i++ )
  12. {
  13. try
  14. {
  15. return new ActiveXObject( ActiveXTypes[i] );
  16. }
  17. catch( e )
  18. { }
  19. }
  20.  
  21. try
  22. {
  23. return new XMLHttpRequest();
  24. }
  25. catch( e )
  26. { }
  27.  
  28. return false;
  29. }
  30.  
  31.  
  32. function make_request(url, callback_function, http_method, post_values, return_xml)
  33. {
  34. http = create_http_object();
  35.  
  36. if(!http)
  37. {
  38. alert('Uw browser ondersteunt dit script niet.');
  39. return false;
  40. }
  41.  
  42. http.onreadystatechange = function()
  43. {
  44. if(http.readyState == 4)
  45. {
  46. if(http.status == 200)
  47. {
  48. if(callback_function)
  49. {
  50. if(return_xml)
  51. {
  52. eval(callback_function + '(http.responseXML)');
  53. }
  54. else
  55. {
  56. eval(callback_function + '(http.responseText)');
  57. }
  58. }
  59. }
  60. else
  61. {
  62. alert('Error! (' + http.status + ')');
  63. }
  64. }
  65. }
  66.  
  67. if(!post_values)
  68. {
  69. post_values = null;
  70. }
  71. if(!http_method)
  72. {
  73. http_method = "GET";
  74. }
  75.  
  76. http.open(http_method, url, true);
  77.  
  78. if(http_method == "POST")
  79. {
  80. http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  81. }
  82.  
  83. http.send(post_values);
  84. }
  85.  
  86.  
  87.  
  88.  
  89. function Delete(Id, Groepsnaam)
  90. {
  91.  
  92. if(window.confirm('Weet je zeker dat je deze groep wilt verwijderen?')) {
  93.  
  94. make_request('Modules/AJAX/DeleteUserGroup.php?Id='+Id+'Groepsnaam='+Groepsnaam, 'HandleDelete', 'GET', null);
  95.  
  96. }
  97. }
  98.  
  99. function HandleDelete(result)
  100. {
  101. result_code = result.split("::");
  102.  
  103. switch(result_code[0])
  104. {
  105. case "100":
  106. alert(result_code[1]);
  107. break;
  108. case "200":
  109. document.getElementById(result_code[1]).style.visibility = "hidden";
  110. break;
  111. }
  112. }


De php code:
  1. <?php
  2.  
  3. $Query = mysql_query("SELECT id FROM nieuws_ledengroepen WHERE id='".$_GET['Id']."' ") or die ( mysql_error() );
  4. $Result = mysql_num_rows($Query);
  5.  
  6.  
  7. if ( $Result < 1 ) {
  8.  
  9. echo '100::De groep kon niet worden gevonden!';
  10.  
  11. }
  12. else {
  13.  
  14. if ( @mysql_query("DELETE FROM nieuws_ledengroepen WHERE id='".$_GET['Id']."' ") )
  15.  
  16. echo '200::'.$_GET['Groepsnaam'];
  17. }
  18. else {
  19.  
  20. echo '100::Er ging iets fout tijdens het verwijderen!';
  21.  
  22. }
  23.  
  24. }
  25.  
  26. ?>


En de html

  1. <tr id="{Groepsnaam}" style="visibility:visible;">
  2. <td width="200">{Groepsnaam}</td>
  3. <td width="100"><a href="#" onclick="Delete('{Id}', '{Groepsnaam}');">Verwijderen</a></td>
  4. <td width="100"><a href="index.php?Pagina=Gebruikers/Gebruikersgroepen.php&Aktie=Bewerken&Id={Id}">Wijzigen</a></td>
  5. </tr>


Kan iemand me mischien verder helpen?

10 antwoorden

Gesponsorde links
Offline timo - 04/11/2006 11:43
Avatar van timo PHP ver gevorderde a) PlaatsCode.be
b) Kijk eens in je FoutConsole bij FF
Offline mike87 - 04/11/2006 11:44 (laatste wijziging 04/11/2006 13:19)
Avatar van mike87 Nieuw lid In die console staat niets. Daarom weet ik dus niet wat ik moet doen.
Offline bosgroen - 04/11/2006 14:22
Avatar van bosgroen Gouden medaille

PHP interesse
Modules/AJAX/DeleteUserGroup.php?id=<<Id>>&&&&&&&&&&&Groepsnaam=<<Groepsna>>

Heb je eens manueel deze url gerund? Je vergat de &
(Zoiets kan je makkelijk opmerken met de Firebug-plugin gebruikt in FF)



nog een tip: omwisselen
  1. <?
  2. try
  3. {
  4. return new XMLHttpRequest();
  5. }
  6. catch( e )
  7. { }
  8.  
  9. for( var i = 0; i < ActiveXTypes.length; i++ )
  10. {
  11. try
  12. {
  13. return new ActiveXObject( ActiveXTypes[i] );
  14. }
  15. catch( e )
  16. { }
  17. }
  18. ?>
Best eerst XMLHttpRequest(); doen. Deze methode geschikt voor FF, Safari EN IE7.0 eerst uitvoeren, omdat ie7.0 ook de andere microsoftmethodes nog ondersteund. Het is echter beter dat IE7.0 het xmlhttprequest-object gebruikt, omdat deze nu native is (en dus sneller). (Stond zo uitgelegd op het IE7.0 devellopers blog)
Offline mike87 - 04/11/2006 14:41 (laatste wijziging 04/11/2006 14:56)
Avatar van mike87 Nieuw lid Ik heb nu

  1. <?
  2. make_request('Modules/AJAX/DeleteUserGroup.php?Id=' + Id + '&Groepsnaam=' + Groepsnaam, 'HandleDelete', 'GET');
  3.  
  4. ?>


Maar nog niks, of heb ik die & soms fout geplaatst?
Offline timo - 04/11/2006 15:16
Avatar van timo PHP ver gevorderde je vraagt om veel meer parameters bij je functie...
Offline mike87 - 04/11/2006 16:07
Avatar van mike87 Nieuw lid Als ik die instell, null en false, gebeurd er ook niets.

[code
<?

make_request('Modules/AJAX/DeleteUserGroup.php?Id=' + Id + '&Groepsnaam=' + Groepsnaam, 'HandleDelete', 'GET', null, false);


?>

[/code]
Offline bosgroen - 04/11/2006 17:40
Avatar van bosgroen Gouden medaille

PHP interesse
heb je de scripturl nu al eens manueel in de adresbalk van jouw browser ingetypt?

http:// ... Modules/AJAX/DeleteUserGroup.php?Id=5&Groepsnaam=datte

Heb je de Firebug plugin van Firefox al geinstalleerd. Zoja, welke meldingen krijg je in de console
Offline mike87 - 04/11/2006 21:53 (laatste wijziging 04/11/2006 22:12)
Avatar van mike87 Nieuw lid Ja die heb ik ingetypt.
Daardoor is me enige groep nu verwijders, maar nu krijg ik bijv. te zien:
'100::De groep kon niet worden gevonden!'
Dus precies wat er zou moeten komen.

Kom nu wel een fout tegen. Het bestand maakte geen verbinding met de database. Dus heb even het bestand geinclude die de verbinding maakt met de database zodat het bestand toegang heef tot de database.
Alleen heb ik de grootste problemen dit te doen:s

Hij blijft maar aangeven dat het bestand niet wordt geinclude.

Me bestand dat de MySql verbinding maakt staat in:

Nieuwssysteem/Includes/MySql.php

Het php bestand dat verwijders:

Nieuwsysteem/Beheer/Modules/AJAX/DeleteUserGroup.php

De include zou ik dus nog in DeleteUserGroup.php moeten zetten, maar wat ik ook probeer, hij blijft de error geven dat hij het bestand niet kan includen. 'Failed to open stream'.

Ik heb al geprobeerd van include('Includes/MySql.php' ) ;

tot
include('../../../../Includes/MySql.php' ) ;
Offline timmie_loots - 05/11/2006 00:28
Avatar van timmie_loots PHP gevorderde Ik mag hopen dat de code die hier staat allemaal wat simpeler is dan de code die je uiteindelijk gebruikt, mocht iemand achter die pagina komen en er zomaar in kunnen komen zijn zo in eens al je users weg :{

Anyway, ik zou eens include($_SERVER['DOCUMENT_ROOT'] . '/Nieuwsysteem/Includes/MySql.php'); proberen. Maar hangt er ook een beetje vanaf waar die includes map staat.
Offline mike87 - 05/11/2006 11:52
Avatar van mike87 Nieuw lid Ja, ik heb de code al wat aangepast voor veiligheid.
Ik ben voor het eerst AJAX aan het toepassen dus ik zorg eerst ff dat het doet, wat het moet doen 

Ik snap er onderhand niets meer van.
Die Firebug geeft in de console nu bijv:

300::Onvoldoende rechten

Omdat de sessie niet mee wordt genomen, maar oke, heb ik al opgelost. En toch wordt het JS niet uitgevoerd die die melding 300::Onvoldoende rechten, afhandeld.

Stap wel ff van AJAX af met dit, heb detijd niet te lang hierover te doen omdat het voor school is.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.448s