2012-03-29 12 views
0

Ich habe ein Problem mit meiner Anwendung. Zunächst tippt der Lehrer auf der vorherigen Seite die Anzahl der Sitzungen (Prüfungen) ein, die er erstellen möchte, und gibt die Anzahl der Fragen ein, die er pro Sitzung haben möchte.Wie bekomme ich die Nummer zurück auf 1 wenn ich auf eine neue Seite gehe?

Jetzt auf der aktuellen Seite, wenn ich mehrere Sitzungen oder Prüfungen mit anderen Worten habe, dann sagen wir, dass ich auf der ersten Prüfung bin, wird es mir Fragenummern für die erste Prüfung hinzufügen. Nun, wenn ich das Formular absende, werde ich zur zweiten Sitzung gehen und neue Fragenummern von Grund auf neu hinzufügen. Wenn ich jetzt versuche, eine Frage Nummer eine Frage Nummer hinzuzufügen, dann fügt es keine Frage Nummer in die Tabelle.

Ich habe herausgefunden, wo das Problem auftritt. Das Problem tritt in dem folgenden Code:

if (qnum > <?php echo (int)@$_POST['textQuestion']; ?>) { 
    return; 
} 

Was ich oben erwähnt ist, dass, wenn die Anzahl der Fragen hinzugefügt, mehr als die Anzahl der Fragen ist auf der vorherige Seite angegeben ist, dann nicht Frage Nummer fügen. Also sagen wir, ich habe 2 Sitzungen und ich möchte nur 1 Frage pro Sitzung. In der ersten Sitzung fügt sie Frage Nummer 1 hinzu, aber wenn ich zur zweiten Sitzung komme, fügt sie Frage Nr. 1 für die zweite Sitzung nicht hinzu, weil sie denkt, dass es Frage Nummer 2 ist, obwohl es Frage 1 für die zweite Sitzung sein soll .

Also wie bekomme ich es so, dass, wenn der Benutzer in die zweite Sitzung geht, er weiß, dass die Frage Nummer beginnt bei 1?

Im Folgenden finden Sie vollständigen Code auf, wie Fragenummer wird in eine Tabelle hinzugefügt:

var qnum = 1; 
    var count = 1; 

    function insertQuestion(form) { 

     if (qnum > <?php echo (int)@$_POST['textQuestion']; ?>) { 
     return; 
    } 


     var $tbody = $('#qandatbl > tbody'); 
     var $tr = $("<tr class='optionAndAnswer' align='center'></tr>"); 
     var $qid = $("<td class='qid'>" + qnum + "</td>"); 

     $tr.append($qid); 
     $tbody.append($tr); 

     count++; 


     $(form).find('.numberOfQuestions').val(qnum); 

     ++qnum; 
     $("#questionNum").text(qnum); 


} 

Antwort

0

Try _POST $ _SESSION statt $ zu verwenden. Wie auch immer, die Verwendung von @ ist eine schlechte Angewohnheit.

+0

Brauche ich @ überhaupt nicht? – user1394925

+0

http://php.net/manual/en/language.operators.errorcontrol.php – Gary

+0

Das Zeichen "@" bewirkt, dass der Parser einen Fehler ignoriert. In Ihrem Code heißt es wörtlich: "Fehler nicht ausgeben, wenn $ _POST [] nicht gesetzt ist" –

Verwandte Themen