Ik ben voor mijn cms'je bezig om snel de data in een database te stoppen. Hiervoor heb ik een javascript functie die als het goed zou zijn de waardes van de velden naar een php pagina zou sturen en deze zou ze in de database stoppen. Het enige probleem is dat er niks toegevoegd wordt. Ik krijg wél een melding dat de gegevens toegevoegd zijn (javascript) maar als ik in mijn DB kijk staat er niks.
Ik heb nu deze JS:
In mijn formulier staan de velden goed vermeld maar die is een beetje groot om te posten. Ik roep de functie iig zo aan:
Mijn php pagina'tje ziet er zo uit (Is alleen nog even om te testen, vandaar dat er maar 1 veld toegevoegd wordt)
Wat doe ik hier nu fout. Ook als in in post.php $_GET in $_POST verrander werkt het niet. Ik zie door de bomen het bos even niet meer
Ik heb nu deze JS:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
| var http_request = false; function makePOSTRequest(url, parameters){ http_request = false; if(window.XMLHttpRequest){ http_request = new XMLHttpRequest(); if(http_request.overrideMimeType){ http_request.overrideMimeType('text/html'); } }else if(window.ActiveXObject){ try{ http_request = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ http_request = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){} } } if(!http_request){ alert('Cannot create XMLHTTP instance'); return false; } http_request.onreadystatechange = alertContents; http_request.open('POST', url, true); http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); http_request.setRequestHeader("Content-length", parameters.length); http_request.setRequestHeader("Connection", "close"); http_request.send(parameters); } function alertContents(){ if(http_request.readyState == 4){ if(http_request.status == 200){ result = http_request.responseText; alert("De gegevens zijn succesvol gewijzigd. De gegevens zijn in de database verwerkt"); }else{ alert('There was a problem with the request.'); } } } function sendFormData(obj,type) { if(type == "Add"){ var poststr = "?type=Add"+ "&content="+encodeURI(document.forms['configForm'].elements['content'].value)+ "&pubDate="+encodeURI(document.forms['configForm'].elements['pubDate'].value)+ "&pubTime="+encodeURI(document.forms['configForm'].elements['pubTime'].value)+ "&authorInfo="+encodeURI(document.forms['configForm'].elements['authorInfo'].value)+ "&pdfIcon="+encodeURI(document.forms['configForm'].elements['pdfIcon'].value)+ "&printIcon="+encodeURI(document.forms['configForm'].elements['printIcon'].value)+ "&mailIcon="+encodeURI(document.forms['configForm'].elements['mailIcon'].value)+ "&pageImg="+encodeURI(document.forms['configForm'].elements['pageImg'].value)+ "&pageImgALT="+encodeURI(document.forms['configForm'].elements['pageImgALT'].value)+ "&pageImgTitle="+encodeURI(document.forms['configForm'].elements['pageImgTitle'].value); }else{ // Hier komt de edit query } makePOSTRequest('post.php', poststr); } |
In mijn formulier staan de velden goed vermeld maar die is een beetje groot om te posten. Ik roep de functie iig zo aan:
HTML:
1
| <form id="configForm" method="POST" action="javascript:sendFormData(this.id,'Add');" enctype="multipart/form-data"> |
Mijn php pagina'tje ziet er zo uit (Is alleen nog even om te testen, vandaar dat er maar 1 veld toegevoegd wordt)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
| <?php if($_GET['type'] == "Add"){ mysql_query(" INSERT INTO paginas ( p_content ) VALUES ( '".$_GET['content']."' ) "); } ?> |
Wat doe ik hier nu fout. Ook als in in post.php $_GET in $_POST verrander werkt het niet. Ik zie door de bomen het bos even niet meer