Beste mensen,
Ik zit al een tijdje met ongeveer het volgende probleem: Ik heb een html form die een js functie addcategory aanroept. Nu komt de waarde uit mijn input veld, wel binnen in mijn js functie maar krijg ik hem niet aan de query gekoppeld die in de php functie add_category wordt uitgevoerd. Ik doe nu nog alleenmaar controles of ik de waardes binnen krijg maar dat lukt niet.
Voor de volledigheid post ik hier mijn hele code. Voor specifieke vragen kan je ze natuurlijk gewoon stellen.
Eerst mijn index.php:
dan de js code
Ik zit al een tijdje met ongeveer het volgende probleem: Ik heb een html form die een js functie addcategory aanroept. Nu komt de waarde uit mijn input veld, wel binnen in mijn js functie maar krijg ik hem niet aan de query gekoppeld die in de php functie add_category wordt uitgevoerd. Ik doe nu nog alleenmaar controles of ik de waardes binnen krijg maar dat lukt niet.
Voor de volledigheid post ik hier mijn hele code. Voor specifieke vragen kan je ze natuurlijk gewoon stellen.
Eerst mijn index.php:
PHP:
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
| <? session_start(); /*---START APPLICATIE---*/ $boodschap = new Boodschap(); $db= "boodschappen"; $host="localhost"; $user="root"; $password=""; $dbtype="mysql"; $con= mysql_connect($host,$user,$password) or die("Could not connect to the server: ". mysql_error()); //print("U bent verbonden met de server"); $selected_db= mysql_select_db($db) or die("Could not connect to the database: ". mysql_error()); //print("<BR> Database Selected."); $all_categories = false; $all_products =false; // voor een weergave van alle producten moet deze TRUE zijn print("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">"); print("<html>"); print("<head>"); print("<script type=\"text/JavaScript\" src='addcat.js'></script>"); print("</head>"); print("<body>"); print("<div class='allContent'>"); print("<div class='menu'>"); print("<ul><li>Home</li><li><a href='?all_products=true'> Alle producten</a></li><li><a href='?all_categories=true'>categorieen</a></li><li>Nieuw product</li></ul>"); print("</div>"); print("<div class='table'>"); if ($all_products = isset ($_GET['all_products']) && $_GET['all_products'] == 'true'){ if ($all_products === true){ print("<table>"); print("<tr>"); print("<th>Aantal</th><th>Artikel Naam</th><th>categorie</th>"); print("</tr>"); $query = $boodschap->get_all_products (); while($row = mysql_fetch_array($query)){ print("<tr><td><input type='text' name='aantal' size=3></td><td> ".$row['product_naam']." </td> <td> ".$row['cat_naam']."</td> </tr>" ); } print("</table>"); $all_products = false; } } else if ($all_categories = isset ($_GET['all_categories']) && $_GET['all_categories'] == 'true'){ if($all_categories ===true){ print("<table>"); print("<tr>"); print("<th>categorieen</th>"); $query= $boodschap->get_all_categories(); while($row= mysql_fetch_array($query)){ print("<tr><td id=\"query\">".$row['cat_naam']."</td></tr>"); } print("</table>"); print("<div>"); print("<form method='post' onsubmit=\" addcategory(document.getElementById('new_cat').value);\">"); //action=\"?all_categories=true\" print("<input type='text' name='new_cat' id='new_cat'>" ); print("<input type='submit' name='submit' value='Nieuwe categorie'>"); print("</form>"); print("</div>"); if($_POST['new_cat']){ $boodschap->add_category($_GET['new_cat']); } $all_categories = false; } } print("</div>"); print("</body>"); print("</html>"); /*--------WEB LOGIC-----------*/ class Boodschap{ function get_all_products(){ $query = "SELECT producten.product_naam, producten.product_aantal, categorieen.cat_naam FROM producten LEFT JOIN categorieen ON producten.cat_id = categorieen.cat_id"; $result = mysql_query($query) or die("could not execute query: ". mysql_error()); return $result; } function get_all_categories(){ $query = "SELECT cat_naam FROM categorieen "; $result = mysql_query($query) or die("could not execute query: ". mysql_error()); return $result; } function add_category($category){ $x = (isset($_GET["q"]) ? $_GET["q"] : "geen q!"); print("<br> de waarde van X ".$x."<br>"); $query = "INSERT INTO categorieen(cat_id, cat_naam) VALUES ('','$category')"; $result = mysql_query($query) or die("could not execute query: ". mysql_error()); print("De categorie ".$category." is toegevoegd"); } function add_articles($artikel, $aantal_artikel, $category){ $query ="INSERT INTO producten (product_naam, product_aantal, cat_id) VALUES ". $artikel. $aantal_artikel .$category; if($result($query)) echo ("Artikel Toegevoegd"); else echo ("Error: ".mysql_error()); } } ?> |
dan de js code
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
| var xmlHttp=null; function addcategory(str){ xmlHttp=GetXmlHttpObject(str); if(xmlHttp==null){ window.alert("Je brouwser ondersteunt geen HTTP request"); return; } window.alert(str); var url="http://localhost:85/bs/index.php?all_categories=true"; url=url+"?q="+str url=url+"&sid="+Math.random(); xmlHttp.onreadystatechange=stateChanged ; xmlHttp.open("GET",url,true); xmlHttp.send(null); xmlHttp.responseText=str; alert(xmlHttp.responseText); return false; } function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ document.getElementById("query").innerHTML=xmlHttp.responseText } } function GetXmlHttpObject() { var objXMLHttp=null if (window.XMLHttpRequest) { objXMLHttp=new XMLHttpRequest() } else if (window.ActiveXObject) { objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP") } return objXMLHttp } function URLEncode(plaintext) { // The Javascript escape and unescape functions do not correspond // with what browsers actually do... var SAFECHARS = "0123456789" + // Numeric "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + // Alphabetic "abcdefghijklmnopqrstuvwxyz" + "-_.!~*'()"; // RFC2396 Mark characters var HEX = "0123456789ABCDEF"; var encoded = ""; for (var i = 0; i < plaintext.length; i++ ) { var ch = plaintext.charAt(i); if (ch == " ") { encoded += "+"; // x-www-urlencoded, rather than %20 } else if (SAFECHARS.indexOf(ch) != -1) { encoded += ch; } else { var charCode = ch.charCodeAt(0); if (charCode > 255) { alert( "Unicode Character '" + ch + "' cannot be encoded using standard URL encoding.\n" + "(URL encoding only supports 8-bit characters.)\n" + "A space (+) will be substituted." ); encoded += "+"; } else { encoded += "%"; encoded += HEX.charAt((charCode >> 4) & 0xF); encoded += HEX.charAt(charCode & 0xF); } } } // for return encoded; }; function URLDecode(encoded) { // Replace + with ' ' // Replace %xx with equivalent character // Put [ERROR] in output if %xx is invalid. var HEXCHARS = "0123456789ABCDEFabcdef"; var plaintext = ""; var i = 0; while (i < encoded.length) { var ch = encoded.charAt(i); if (ch == "+") { plaintext += " "; i++; } else if (ch == "%") { if (i < (encoded.length-2) && HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 && HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) { plaintext += unescape( encoded.substr(i,3) ); i += 3; } else { alert( 'Bad escape combination near ...' + encoded.substr(i) ); plaintext += "%[ERROR]"; i++; } } else { plaintext += ch; i++; } } // while return plaintext; }; |