Springen naar inhoud


- - - - -

Post To Url

JavaScript POST URL

  • Log in a.u.b. om te beantwoorden
Er zijn 2 reacties in dit onderwerp

#1 guest_BESLO_*

guest_BESLO_*
  • Gasten
    Laatst bezocht

Geplaatst op 21 juni 2012 - 09:55

Hoi

Geen vraag maar een kleine tip voor wie hier ook POST wil gebruiken zonder een form op zijn html pagina te willen zetten.

Ik ben bezig om voor onze school een totaal neiuwe versie van de website te maken. In voorbereiding op het ontwikkelen van een eigen (mini)CMS heb ik in php een applicatie geschreven die me toelaat om vertrekkende vanuit 1 bestand steeds de inhoud te vervangen door het inlezen van (momenteel) tekstbestanden.

Momenteel geef ik de naam van het in te lezen bestand momenteel in via GET parameters (dus ?param=waarde).

Ik vind dit echter niet echt een mooi zicht geven in de URL adresbalk van de browsers. Vandaar dat ik op zoek gegaan ben naar code om dit via javascript en het onclick event uit te voeren.

Op het "wilde wijde web" vond ik dankzij Googl volgende werkende code:

Code:
  function post_to_url(url, params) {
	var form = document.createElement('form');
	form.action = url;
	form.method = 'POST';

	for (var i in params) {
	  if (params.hasOwnProperty(i)) {
	  var input = document.createElement('input');
	  input.type = 'hidden';
	  input.name = i;
	  input.value = params[i];
	  form.appendChild(input);
	  }
	}

	form.submit();
  }


In een <p> tag werkt alles perfect. In een <a> tag (hyperlink) moet je ervoor zorgen dat de href op bvb "#" staat en niet naar de juiste locatie verwijst. Deze href wordt toch genegeerd.
bvb:
Code:
<a class="inactive" href="#" onclick="post_to_url("'index.php", {"PgN":"OnzeSchool"})  >


Het plaatsen van deze code in mijn php script zal nog een ander paar mouwen zijn omdat er nogal veel verschillende enkele en dubbele aanhalingstekens door mekaar gebruikt worden (in mijn echo statement waar ik mijn pagina's opbouw).

'k ga daar een php functie voor moeten maken die ik later bij dit bericht zal zetten.

#2 RedThread

RedThread

    Beheerder VBIB

  • Beheerder
  • 3600 berichten
    Laatst bezocht gisteren, 18:54
  • LocatieTongeren,Belgium.
Inzender

Geplaatst op 21 juni 2012 - 10:01

Goede tip beslo !

Om even terug te komen op je CMS.. Ik gebruikte vroeger het programma PHPmaker (http://www.hkvstore.com/phpmaker/)
Een tool dat je toelaat om zeer snel een prof. cms te maken.

Voor het geval je in tijdnood komt is dit misschien een alternatief.

Greetzzz
RedThread.

#3 guest_BESLO_*

guest_BESLO_*
  • Gasten
    Laatst bezocht

Geplaatst op 21 juni 2012 - 10:50

Bericht bekijkenRedThread, op 21 juni 2012 - 10:01, zei:

Om even terug te komen op je CMS.. Ik gebruikte vroeger het programma PHPmaker (http://www.hkvstore.com/phpmaker/)

Bedankt voor de info, ik zal het zeker keer bekijken, maar eigenlijk moet ik momenteel enkel maar mijn gegevens uit text bestanden gaan overzetten naar een database en dan in mijn php bestand de functies die deze bestanden inlezen gaan vervangen door code die dezelfde info uit de juiste tabel haalt. (vandaar dat ik ook sprak van mini CMS)

Eerste stap is echter om de huidige site volledig om te zetten naar mijn nieuw design (werk tijdens de vakantie, anders weet je als leerkracht toch niet wat te doen tijdens die 2 maanden vrijaf :-P )

Ondertussen is hier ook mijn php code om mijn hyperlinks voor te bereiden vorodat deze in de pagina getoond worden:

Code:
function PrepareLink($ClassName, $PageNme, $ParamNme, $ParamVal, $LinkText) {
  $HLink =  '<a  class="' . $ClassName . '" href="#" onclick="post_to_url(' . "'" . $PageNme . "', {'" . $ParamNme . "':'" . $ParamVal . "'})" . '" >' . $LinkText . "</a>";

  return $HLink; 
  }


Je roept die in de eigenlijke php pagina dan als volgt op:
Code:
PrepareLink ("inactiveclass3", "index.php", "PgN", "Directie", "Directie");


Werkt Perfect! en je ziet geen lelijke GET paramaters meer in de URL adresbalk.

En wanneer ik met dit alles klaar ben en ook alles in een DB geplaatst heb moet ik nog een front-end schrijven om alles te kunnen onderhouden zodat ik niet steeds via SQL statements in PHPMyAdmin of MS-Access de nieuwe info moet gaan zitten uploaden.





Ook met taq JavaScript, POST, URL voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


Untitled 1

Met dank aan J├╝rgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)