2016-05-24 13 views
0

Okay, ich habe eine PHP-Datei und es hat eine Textarea. Es gibt auch eine Schaltfläche, die, wenn Sie darauf klicken, Sie bereits zu * einer anderen Seite weiterleitet. Ich habe den Textbereich oberhalb der Schaltfläche hinzugefügt und wenn die Schaltfläche geklickt wird, möchte ich, dass der Text im Textfeld zur nächsten Seite weitergeleitet wird (beachten Sie, wo sich die Sternchen befinden).Weiterleiten von übermittelten Text an eine Funktion

Bisher verwende ich dies in der * andere Seite:

$comment = $_POST['comment']; <-- fetches from the page before 
$users->updateUser($id, 'appreason', $comment); <-- calls the function 

Die Funktion verknüpft $ Benutzer der Datenbank aktualisiert. Es sollte die Benutzer comment Spalte auf den Text aktualisieren, den sie zuvor eingegeben haben. Das SQL ist in Ordnung, da ich zuvor ähnliche Codes verwendet habe.

Das Problem, das ich habe, ist das PHP. Die SQL wird nicht aktualisiert und alles andere läuft normal. Es ist, als hätte ich den Code nie hinzugefügt. Jede Hilfe wird geschätzt.

<div class="panel-body"><div class="form-group"><textarea name="comment"  class="form-control" placeholder="Comment" rows="1"></textarea></div></div> 

Oben ist das Textfeld Ich verwende. $_POST['comment'] holt, was dort eingegeben wird.

Das SQL funktioniert, weil ich es für andere Dinge verwende, z. Einloggen in die Site. Aber anywho, hier ist die Abfrage lief:

final public function updateUser($k, $key, $value) 
{  
    global $engine;     
    $engine->query("UPDATE accounts SET " . $key . " = '" . $engine->secure($value) . "' WHERE id = '" . $k . "' LIMIT 1"); 
    $_SESSION['user'][$key] = $engine->secure($value);  
} 

Der $ Motor Teil funktioniert definitiv.

+1

Wir werden mehr Code sehen müssen, wie SQL. Überprüfen Sie auch, dass '$ comment' enthält, was Sie denken, dass es tut. – Utkanos

+0

Ich habe den Hauptpost mit mehr Code bearbeitet. – JackAlmighty

+0

Ist '$ id' ein gültiger Wert? .. Ich habe keine Probleme in Ihrem Code bemerkt. Ich denke, der '$ id' Wert existiert nicht in der Datenbanktabelle und die Abfrage hat keine Auswirkung auf Ihre Datenbank. – Wizard

Antwort

0

Zwei Ideen zur Fehlerbehebung aus:

(1) Am oberen Rande der next Seite (die PHP-Seite):

<?php 
    echo 'Received: ' . $_POST['comment']; 
    die(); 

Achten Sie darauf, Ihr Text in der zweiten Datei empfangen wird.

(2) von der Idee vorherigen Änderungen (1) entfernen und wie folgt ändern:

$comment = 'This is a test 9876'; <-- temporary change, just for testing 

Dann manuell ausführen, um die next.php (oder was auch immer Sie es genannt) Datei und stellen Sie sicher, dass die Zeichenfolge „Dies ist ein Test 9876 "geht in die Datenbank.

Das wird wahrscheinlich das Problem aufdecken. Wenn nicht, posten Sie bitte hier weitere Informationen und wir helfen Ihnen bei der Fehlerbehebung.

Übrigens - der beste Weg, StackOverflow zu verwenden, ist eine Frage zu stellen, Antworten zu erhalten, eine "Beste" Antwort zu wählen und dann beim nächsten Mal eine neue Frage zu stellen - auch wenn sie sich überschneiden. Das funktioniert am besten, denn wenn Sie eine neue Frage stellen, gibt es Dutzende von Leuten, die es lesen und versuchen zu helfen, anstatt nur ein oder zwei, wenn Sie einer bestehenden Frage neue Informationen hinzufügen.

+0

Werde das morgen versuchen danke. – JackAlmighty

+0

Okay, ich habe es versucht und/wo/das Problem ist. Ich setzte $ comment auf "test" und es funktionierte, legte es in die Datenbank und alles ein. Nachdem ich winzige Bits gewechselt habe, kann ich bestätigen, dass das Problem mit dem Textbereich & $ _POST oder so ähnlich ist. Ich setze $ comment auf $ _POST ['comment'] (das ist der TextBox-Eingang). Als ich es getestet habe, hat es die Zelle in der Datenbank auf absolut nichts gesetzt. Also ändert es es, aber ändert es zu nichts. Bevor ich es getestet habe, sagte die Zelle "Test", aber nachdem sie ausgeführt wurde, ist die Zelle (auch bekannt als "nichts"). Dies geschieht, obwohl Text in das Textfeld eingegeben wurde. – JackAlmighty

+0

Fortsetzung: Also ich denke, es muss ein Problem mit dem Aufruf von $ _POST über zwei PHP-Dateien sein. Der Prozess ist: File1.php hat das Textfeld. Sie klicken auf eine Schaltfläche und Sie gelangen zu File2.php. File2.php holt $ _POST ['comment'] aus der Textarea in File1.php. – JackAlmighty

Verwandte Themen