Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP-Variable Problem

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP-Variable Problem

    Hallo Liebes Forum,
    ich bin dabei eine Website zu programmieren, welche eine HTML-Textbox beinhaltet um den Input an die Erste PHP-Datei zu senden. Bis hier hin funktioniert es!
    Nun wird in der PHP-Datei mit Mysql gearbeitet. Ich verwende, die Funktion Session, um die Variable für die Session zu speichern. Das Problem ist das die Zweite PHP-Datei die Erste PHP-Datei einbindet(include) und dann die Variable nicht gegeben ist, und ich somit nichts als Antwort von der Mysql Datenbank erhalte.

    Hier nocheinmal das Schema:
    HTML Textbox zu 1. PHP Datei.
    1. PHP Datei als Include in der 2. PHP Datei

    Die Reihenfolge müsste auch so bleiben, weil der Code soweit wie fertig ist, nur das ist das einzige woran es gerade scheitert.

    Mit freundlichen Grüßen
    Fynn Pfingsten

  • #2
    Zeigst du uns auch wie du das realisiert hast? Denn aus Deiner Schilderung ist das Problem nur sehr schwer erkennbar.

    Kommentar


    • #3
      Hier der Code der Ersten Datei (Codeschnipsel)
      Code:
      <form action="1.php" method="post">
      <input type="vname" name="vname" />
      <input type="Submit" name="Submit">
      </form>
      Hier der Code der Zweiten Datei (Codeschnipsel)
      Code:
      session_start();
      
      // Let the variable name be 'post_data'
      $_SESSION['vname'] = $_POST['vname'];
      echo $_SESSION['vname'];
      
      SELECT * FROM `db` WHERE VNAME = '$vname' AND status = '1' order by 
                  `POSTID` LIMIT :position , :items_per_group
      Hier der Code der Dritten Datei (Codeschnipsel)
      Code:
      include("1.php");
      Und in dem Code fehlt dann die Variable bzw. Der Text, welcher in das Textfeld eingeben wurde.

      Kommentar


      • #4
        Was logisch ist, weil wenn du 2.php aufrufst ist $_POST leer und daher wird $_SESSION['vname'] durch $_POST['vname'] überschrieben welches leer ist.

        Das Konstrukt dürfte so keinen Sinn machen, aufgrund der raren Angaben kann ich Dir da aber auch nicht mehr sagen.

        Grundsätzlich: error_reporting aufdrehen und debugging betreiben.
        https://php-de.github.io/#debugging

        Kommentar


        • #5
          Was denn jetzt für eine dritte Datei?
          Oben hast du noch gesagt, dass du nur 2 Dateien hast und Datei 1 in Datei 2 eingebettet ist, was eh schon falsch ist Nimm dir das Thema Affenformular vor und setze es danach um, dann haben sich alle Probleme in Luft aufgelöst.

          Und zeige nächste mal bitte ein nachvollziehbares Beispiel, das ist derzeit nicht gegeben, da niemand weiss wo dein include platziert wurde.

          PHP-Code:
          SELECT FROM `dbWHERE VNAME '$vname' AND status '1' order by `POSTID
          Hier sind schon ein paar Dinge, die man bemängeln kann.

          SELECT * liefert welche Spalten?
          Das ist für uns nicht ersichtlich, führe daher alle Spalten im SELECT auf die du auch ausgeben willst. Ist auch für dich besser, da du nicht immer nachschauen musst, wie die Spalten denn nun heissen.

          Die Spaltennamen sind mal gross geschrieben und mal klein, warum nicht einheitlich klein?
          Was verbirgt sich hinter der Kurzform VNAME, Versicherungsname, Versichertenname, Verkäufername oder was?
          status ist hier ein String. Wenn der Status ein Boolean darstellt also ja nein entsprechend ausgedrückt wird, das ist varchar und text der falsche Datentyp.

          Du fügst zudem direkt Variablen in deine DB Abfrage ein, da könnte dir jemand die Daten klauen oder löschen, wenn du diese nicht validierst und maskierst.

          include("1.php"); Wieso benennst du die Datei 1 und nicht mit sprechenden Namen, zuviel Schreiberei?

          Kommentar


          • #6
            Vielen Dank, einer musste ja meckern!

            Kommentar


            • #7
              Das Hinweisen auf offensichtliche Fehler oder grobe Schnitzer ist kein meckern.

              Kommentar

              Lädt...
              X