mercredi 15 juin 2016

Why is my SQL Insert Duplicating

So I've got an AJAX call on a client-side page that is reaching the server and executing. However, for every submit I'm getting 2 insert statements. I can't figure out for the life of me where this second insert is coming from. Maybe a new set of eyes could shed some light on it.

Form (in .blade.php):

{!! Form::open(array('action'=>'PhishingController@createNewProject')) !!}
{!! Form::label('projectNameText','Project Name: ') !!}
{!! Form::text('projectNameText',null,array('name'=>'projectNameText')) !!}
{!! Form::label('projectAssigneeText','Project Assignee') !!}
{!! Form::text('projectAssigneeText',null,array('name'=>'projectAssigneeText')) !!}
{!! Form::submit('Submit',array('id'=>'submitButton')) !!}
{!! Form::close() !!}

PHP Controller:

$projectName = $request->input('projectNameText');
$projectAssignee = $request->input('projectAssigneeText');
$date = date("Y-m-d");
$db = $this->openDatabaseDefault();
$sql = "INSERT INTO database.table(PRJ_ProjectId,PRJ_ProjectName,PRJ_ProjectAssignee,PRJ_ProjectStart,
            PRJ_ProjectLastActive,PRJ_ProjectStatus,PRJ_ProjectTotalUsers,PRJ_EmailViews,PRJ_WebsiteViews,
            PRJ_ProjectTotalReports) VALUES (null,'$projectName','$projectAssignee','$date','$date','Inactive',0,0,0,0);";
if(!$projects = $db->query($sql)) {
        echo "Sorry, the website is experiencing technical difficulties.";
        echo "Error: Our query failed to execute and here is why: \n";
        echo "Query: " . $sql . "\n";
        echo "Errno: " . $db->errno . "\n";
        echo "Error: " . $db->error . "\n";
        exit;
}
$db->close();
return redirect()->to('http://localhost:8888/generateEmails');

AJAX:

$('document').ready(function() {
    $('#submitButton').click(function(e) {
        $.ajaxSetup({
            headers: { 'X-CSRF-Token' : $('meta[name=_token]').attr('content') }
        });
        console.log("clicked");
        var projectName = $('#projectNameText').val();
        var projectAssignee = $('#projectAssigneeText').val();
        $.ajax({
            method: "POST",
            //url: "http://localhost:8888/projects/create",
            data: {projectNameText: projectName, projectAssigneeText: projectAssignee}
        })
    });
});

Anything is appreciated at this point.



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire