Все, что я пытаюсь сделать, это записать в базу данных, я считаю, что соединение не устанавливается. Однако я уже писал код в базу данных, и именно так я подключался к нему в прошлом. Теперь я не уверен, правильно ли я получаю значения в своем коде java-скрипта.
Так как я имел дело с INTS, я решил сделать хранимые процедуры, в которых установлены значения.
Я все еще новичок в работе с JSON, думаю, это тоже может быть частью проблемы.
Есть идеи?
var ProcessManager;
var Validator;
function submit(){
var formHash = new Hash();
formHash.collectDate = $('itemDate').value;
formHash.txtMain = $('txtMain').value;
//radiobuttons
$$('input[name=iMenuChoiceID').each(function(el){
if(el.getProperty('checked'))
formHash.menuChoiceID = el.value;
});
//txtboxes
formHash.txtMain = $('txtMain').value;
formHash.txtSide = $('txtSide').value;
formHas.txtAlternative = $('txtAlternative').value;
menuProcessManager.setOptions({
data: {
'encFormData' : JSON.encode(formhash)
}
}).send();
}
function clearMenu(){
alert("The form has been resetted.");
$('menuMsg').set('html', '');
$('txtMain').value = '';
$('txtSide').value= '';
$('txtAlternative').value = '';
$('input[name=iMenuChoiceID').each(function(el){
if(el.value ==1){
el.setProperty('checked', true);
});
}
menuValidator.reset();
});
/**Add window.addevent ***/
window.addEvent('domready', function(){
/*site validators*/
Validator = new Form.Validator.Inline('Form', {
onFormValidate : function(passed, form, event) {
if (passed) {
event.preventDefault();
submit();
}
}
});
/*JSON Request Managers*/
ProcessManager = new Request.JSON({
method:'post',
async: false,
url: 'includes/file/Process.php',
data: {
'encFormData' : ''
},
onRequest : function(){
$('Submit').disabled = true;
$('Submit').set('value', 'Processing...');
$('successMsg').set('html', '');
$('successMsg').setStyle("display", "none");
},
onSuccess : function(responseText){
var returnVals = new Hash(response);
$('Submit').set('value', 'Submit');
$('Submit').disabled = false;
var results = responseText.split("/");
if (results[0] == 'Success') {
$('successMsg').set('html', 'Success! );
menuClear();
}else {
alert(responseText);
}
return true;
}
});
});
process.php
<?php
session_start ();
// decodedFormData
$decFD = json_decode ( $_POST ['encFormData'] );
try{
$dbh = new PDO ( 'db', '', '' );
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->beginTransaction ();
//stored procedure just declares the columns with their paramters since I have a couple of INTs
$stmt = $dbh( "exec uspWebAdder ?, ?, ?, ?, ? ");
$stmt->bindParam ( 1, $decFD->ChoiceID, PDO::PARAM_INT );
$stmt->bindParam ( 2, $_SESSION ['userID'], PDO::PARAM_INT );
$stmt->bindParam ( 3, $decFD->txtMain, PDO::PARAM_STR );
$stmt->bindParam ( 4, $decFD->txtSide, PDO::PARAM_STR );
$stmt->bindParam ( 5, $decFD->txtAlternative, PDO::PARAM_STR );
$dbh = null;
} catch ( PDOException $e ) {
$errMsg = "There was a database error:<br>" . $e->getFile () . ' (' . $e->getLine () . ')<br>' . $e->getMessage ();
$errMsg .= "<br><br>SQL : " . $sql;
echo $errMsg;
die ();
}
echo "Success"
?>