2017-01-26 2 views
0

J'essaie d'utiliser AJAX pour mettre à jour ma base de données et toujours obtenir une erreur de serveur interne (500) Je ne sais pas pourquoi cela se produit, ma liste de données est trop longue. Sur mon serveur localhost cela semble fonctionner, mais pas en ligne.Erreur AJAX Post 500 Server interne -

Ceci est mon code JS:

function update_database() { 
    var $1Intro = $('#1Intro').val(); 
    var $1Perspektive = $('#1Perspektive').val(); 
    var $1Rahmung = $('#1Rahmung').val(); 
    var $1Montage = $('#1Montage').val(); 
    var $2Intro = $('#2Intro').val(); 
    var $2Handlung = $('#2Handlung').val(); 
    var $2Perspektive = $('#2Perspektive').val(); 
    var $2Zeit = $('#2Zeit').val(); 
    var $3Intro = $('#3Intro').val(); 
    var $3Zeit = $('#3Zeit').val(); 
    var $3Spielraum = $('#3Spielraum').val(); 
    var $3Rolle = $('#3Rolle').val(); 
    var $3Regeln = $('#3Regeln').val(); 
    var $3Netzwerk = $('#3Netzwerk').val(); 
    var $01Done = $('#01Done').val(); 
    var $02Done = $('#02Done').val(); 
    var $03Done = $('#03Done').val(); 
    var $0Intro = $('#0Intro').val(); 
    var $0Fin = $('#0Fin').val(); 
    var $Position = $('#Position').val(); 
    var $MobileUser = $('#MobileUser').val(); 
    var $usr = $('#User').val(); 

    $.ajax({ 
    type: 'POST', 
    url: './gameengine/dataform-to-database.php', 
    data: '1_Intro=' + $1Intro + '&1_Perspektive=' + $1Perspektive + '&1_Rahmung=' + $1Rahmung + '&1_Montage=' + $1Montage + '&2_Intro=' + $2Intro + '&2_Handlung=' + $2Handlung + '&2_Perspektive=' + $2Perspektive + '&2_Zeit=' + $2Zeit + '&3_Intro=' + $3Intro + '&3_Zeit=' + $3Zeit + '&3_Spielraum=' + $3Spielraum + '&3_Rolle=' + $3Rolle + '&3_Regeln=' + $3Regeln + '&3_Netzwerk=' + $3Netzwerk + '&0_1Done=' + $01Done + '&0_2Done=' + $02Done + '&0_3Done=' + $03Done + '&0_Intro=' + $0Intro + '&0_Fin=' + $0Fin + '&Position=' + $Position + '&usr=' + $usr + '&MobileUser=' + $MobileUser, 
    cache: false, 
    error: function(e){ 
     console.log(e); 
     }, 
     success: function(response){ 
     //alert(response); 
     } 
    }); 
} 

J'espère que vous avez quelques idées :)

P.S .: voici mon code PHP ainsi: Tnax pour votre engagement!

<?php 
require('../includes/config_o.php'); 

if(isset($_POST["usr"])) 
{ 

    $stmt = $db->prepare('UPDATE userdata SET 1_Intro = :1_Intro, 1_Perspektive = :1_Perspektive, 1_Rahmung = :1_Rahmung, 1_Montage = :1_Montage, 2_Intro = :2_Intro, 2_Handlung = :2_Handlung, 2_Perspektive = :2_Perspektive, 2_Zeit = :2_Zeit, 3_Intro = :3_Intro, 3_Zeit = :3_Zeit, 3_Spielraum = :3_Spielraum, 3_Rolle = :3_Rolle, 3_Regeln = :3_Regeln, 3_Netzwerk = :3_Netzwerk, 0_1Done = :0_1Done, 0_2Done = :0_2Done, 0_3Done = :0_3Done, 0_Intro = :0_Intro, 0_Fin = :0_Fin, Position = :Position, MobileUser = :MobileUser WHERE iUserID = :User'); 
    $stmt->execute(array(
     ':1_Intro' => $_POST["1_Intro"], 
     ':1_Perspektive' => $_POST["1_Perspektive"], 
     ':1_Rahmung' => $_POST["1_Rahmung"], 
     ':1_Montage' => $_POST["1_Montage"], 
     ':2_Intro' => $_POST["2_Intro"], 
     ':2_Handlung' => $_POST["2_Handlung"], 
     ':2_Perspektive' => $_POST["2_Perspektive"], 
     ':2_Zeit' => $_POST["2_Zeit"], 
     ':3_Intro' => $_POST["3_Intro"], 
     ':3_Zeit' => $_POST["3_Zeit"], 
     ':3_Spielraum' => $_POST["3_Spielraum"], 
     ':3_Rolle' => $_POST["3_Rolle"], 
     ':3_Regeln' => $_POST["3_Regeln"], 
     ':3_Netzwerk' => $_POST["3_Netzwerk"], 
     ':0_1Done' => $_POST["0_1Done"], 
     ':0_2Done' => $_POST["0_2Done"], 
     ':0_3Done' => $_POST["0_3Done"], 
     ':0_Intro' => $_POST["0_Intro"], 
     ':0_Fin' => $_POST["0_Fin"], 
     ':Position' => $_POST["Position"], 
     ':User' => $_POST["usr"], 
     ':MobileUser' => $_POST["MobileUser"] 
    )); 

} 

?> 
+1

Comme l'a dit l'erreur, il s'agit d'une erreur de serveur (Code 500). Donc l'erreur est plus probable dans le code PHP –

+0

ce n'est probablement pas la solution, mais je pense que vous pouvez (devrait?) Avoir 'data: { '1_Intro': $ 1Intro, '1_Perspektive': $ 1Perspektive, // ... etc } ' –

+0

' est ma liste de données trop long' - qui peut dire ... comment "grand" est le corps de la demande? –

Répondre

0

500 - est une erreur de serveur.

Peut-être votre véritable URL sans point?

url: '/gameengine/dataform-to-database.php', 

Ou vous avez une erreur dans le script PHP. montrer ensuite le code

+0

si l'URL était erronée, l'erreur ne serait-elle pas 404? –

+0

@JaromandaX cela dépend de la configuration –

+0

Mais il y a probablement une erreur dans le script –

0

Dans votre ajax: ../ dans l'URL si vous voulez dossier précédent ayant gameengine/dataform-to-database.php

envoyer également vos données objet format.Like .. ce

data = {$1Intro:$('#1Intro').val(),$1Perspektive:$('#1Perspektive').val(),...so on } 

AJAX

$.ajax({ 
    type: 'POST', 
    url: '../gameengine/dataform-to-database.php', 
    data: data, 
    cache: false, 
    error: function(e){ 
     console.log(e); 
     }, 
     success: function(response){ 
     //alert(response); 
     } 
    }); 
+0

si l'URL était erronée, l'erreur ne serait-elle pas 404? –

+0

s'il vous plaît pourriez-vous expliquer quand 505 erreurs se produit? –

+0

A 505 signifie que 'HTTP Version Non Supported' - mais c'est tout à fait hors de propos –

0

Donc je pense que je l'ai en quelque sorte résolu en retournant ma version de php à 5.5. Pas une vraie solution, mais maintenant ça marche.

éditer: pas vraiment ... juste ne plus avoir d'erreur. ne fonctionne toujours pas