---
title: "\"Posta\" formulär med AJAX och PHP"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/171481-posta-formulär-med-ajax-och-php"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "learn"
published: "2008-05-15T11:31:10.000Z"
updated: "2008-05-18T12:22:00.000Z"
replies: 4
views: 755
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/171481-posta-formulär-med-ajax-och-php"
---

# "Posta" formulär med AJAX och PHP

## #1 — learn, 2008-05-15T11:31Z

Jag har nyligen satt mig i det här med ajax. Tycker det verkar smidigt för att t.ex. **hämta data** från en databas utan att behöva ladda om sidan. Men, hur gör man för att **lägga in data** i en databas. Jag menar hur får jag ut datan i PHP som är postat i formuläret, den ligger ju inte $\_POST eftersom sidan aldrig postas utan allt sköts via javascript...

**Red:**
*Jag har alltså ett formulär där man matar in t.ex. namn och adress. När man klickar på Submit så anropas js-funktionen "saveData". Där körs save.php med hjälp av Ajax. Så långt är allt cool, men... Hur får jag ut de inmatade uppgifterna namn och adress i save.php.*

Hoppas någon förstår hur jag menar.

Hur ska jag göra? Ge mig gärna ett exempel.

Tack!   :bire

Permalänk: https://www.webforum.nu/p/171481

## #2 — SPiN, 2008-05-15T11:47Z

Du kan ju visst använda dig av POST, det är lika enkelt som att skicka data via querystring.

```
...
_params = "variabel1=value1&variabel2=value2...";
xmlHttpObject.onreadystatechange = ...
xmlHttpObject.open("POST", _postbackPage, _async);
xmlHttpObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=" + _charset);
xmlHttpObject.send(_params);
...
```

På PHP-sidan (i mitt exempel \_postbackPage) gör du som om det hade varit postat från en vanlig sida med ett vanligt formulär.

Alltså, saveData():

```
var xmlHttpObject;
try {
	xmlHttpObject = new XMLHttpRequest();
} catch(e) {
	try {
		xmlHttpObject = new ActiveXObject("Msxml2.XMLHTTP");
	} catch(e) {
		try {
			xmlHttpObject = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(e) {
			alert("Ajax stöds ej.");
		}
	}
}
xmlHttpObject.onreadystatechange = function {
	if(xmlHttpObject.readyState==4) {
		/* Formulärdata postad */
	}
}
xmlHttpObject.open("POST", "save.php", false);
xmlHttpObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
xmlHttpObject.send("namn=" + document.getElementById('NameInputField') + "&adress=" + document.getElementById('AddressInputField'));
```

Typ.

Permalänk: https://www.webforum.nu/p/2110310

## #3 — MickeA.com, 2008-05-15T16:33Z

Jag använder mig alltid av Webtoolkit.AIM när jag skicka POST DATA via Ajax:
<http://www.webtoolkit.info/ajax-file-upload.html>

Väldigt lätt att använda, funkar i alla webbläsare, kanon!

Permalänk: https://www.webforum.nu/p/2110343

## #4 — learn, 2008-05-17T13:16Z

Tack SPiN!

Micke: Intressant, ska testa, tack för tipset!

Permalänk: https://www.webforum.nu/p/2110786

## #5 — learn, 2008-05-18T12:22Z

När jag postar något (stoppar in i databasen) känns det ju lite märkligt och onödigt att visa php-filen (i det här fallet save.php) i en div. Kan man inte bara köra filen i bakgrunden?

```
	if (httpAjax.readyState == 4) {
		

[B]		document.getElementById(object).style.display = 'block';
	
		
		document.getElementById(object).innerHTML = httpAjax.responseText;[/B]

		return true;
	
	} else {
		
		document.getElementById('loading').style.display = 'block';
	
	}
```

Permalänk: https://www.webforum.nu/p/2110972

---

Tråden på webben: https://www.webforum.nu/amne/php/171481-posta-formulär-med-ajax-och-php
