Как я могу получить свой код для записи в базу данных - PullRequest
1 голос
/ 10 мая 2019

Все, что я пытаюсь сделать, это записать в базу данных, я считаю, что соединение не устанавливается. Однако я уже писал код в базу данных, и именно так я подключался к нему в прошлом. Теперь я не уверен, правильно ли я получаю значения в своем коде 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"
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...