eintrag.php für mehrere Seiten verwenden

Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

DerTrojaner

Mitglied
Moin zusammen,

ich habe ein kleines Hindernis vielleicht kann mir ja einer helfen. Und zwar habe ich mehrere php seiten bsp. zulauf.php und wasser.php, nun habe ich auch eine php Datei namens eintrag.php, die erstellt Datensätze für zulauf.php. Nun möchte ich aber auch für wasser.php einen Datensatz durch die datei eintrag.php erstellen und nicht noch ein eintrag1.php erstellen, damit ich in wasser.php einen Datensatz erstellen kann.

Das ist die eintrag.php Datei vielleicht könnt ihr mir sagen was ich machen muss damit es funktioniert.
PHP:
<link rel="stylesheet" type="text/css" href="style.css">
<script type='text/javascript' src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="Javascript.js"></script>

<?php
    require_once("index.php");
    if(isset($_POST["neuerDatensatzZulauf"])){
    $Tag = $_POST["Tag"];
#    $Wochentag = $_POST["Wochentag"];
    $Uhrzeit = $_POST["Uhrzeit"];
    $Wert = $_POST["Wert"];
    $Lufttemperatur = $_POST["Lufttemperatur"];
    $Abwassertemperatur = $_POST["Abwassertemperatur"];
    $pH_Wert = $_POST["pH_Wert"];
    $Flotation = $_POST["Flotation"];
    $Zulauf = $_POST["Zulauf"];

    // Ob , oder . eingetragen wird ist egal er checkt es
    $Lufttemperatur = str_replace(',', '.', $Lufttemperatur);
    $Abwassertemperatur = str_replace(',', '.', $Abwassertemperatur);
    $pH_Wert = str_replace(',', '.', $pH_Wert);

    // Verbindung zur Datenbankk
    $db_con = mysqli_connect($servername, $username, $password, $dbname);

    // String für SQL-Anweisung erstellen
    $insertString = "INSERT INTO zulauf(Tag, /*Wochentag,*/ Uhrzeit, Wert, Lufttemperatur, Abwassertemperatur, pH_Wert, Flotation,Zulauf)
      VALUES ('".$Tag."','".$Uhrzeit."','".$Wert."', '".$Lufttemperatur."', '".$Abwassertemperatur."', '".$pH_Wert."', '".$Flotation."', '".$Zulauf."');";
    ############### Falls Wochentag gebraucht wird einfach '".$Wochentag."', einsetzten ###################

    // SQL-Anweisung durchführen
    $check = mysqli_query($db_con, $insertString);

    if($check) {
        echo "Ein neuer Datensatz erfolgreich hinzugefügt";
    }}

?>

<form action="eintrag.php" method="post">
  <div id="input">
    <!--- Tag -------------------------------------------------------------------------->
      <label for="Tag"> Tag</label><br>
      <input type="text" autocomplete="off" name="Tag" class="tcal" placeholder="Tag / Datum "><br>
    <!--- Wochentag -------------------------------------------------------------------->
    <!---  <label for="Wochentag"> Wochentag</label><br>
        <select name="Wochentag" required>
          <option value="Montag">Montag</option>
          <option value="Dienstag">Dienstag</option>
          <option value="Mittwoch">Mittwoch</option>
          <option value="Donerstag">Donerstag</option>
          <option value="Freitag">Freitag</option>
          <option value="Samstag">Samstag</option>
          <option value="Sonntag">Sonntag</option>
        </select> -------->
    <!--- Uhrzeit ---------------------------------------------------------------------->
      <label for="Uhrzeit"> Uhrzeit</label><br>
      <input type="text" autocomplete="off" name="Uhrzeit" placeholder="Uhrzeit"><br>
    <!--- Wert ------------------------------------------------------------------------->
      <label for="Wert"> Wert</label><br>
      <input type="text" autocomplete="off" name="Wert" placeholder="Wert"><br>
    <!--- Lufttemperatur --------------------------------------------------------------->
      <label for="Lufttemperatur"> Lufttemperatur</label><br>
      <input type="text" autocomplete="off" name="Lufttemperatur" placeholder="Lufttemperatur"><br>
    <!--- Abwassertemperatur ----------------------------------------------------------->
      <label for="Abwassertemperatur"> Abwassertemperatur</label><br>
      <input type="text" autocomplete="off" name="Abwassertemperatur" placeholder="Abwassertemperatur"><br>
    <!--- pH_Wert ---------------------------------------------------------------------->
      <label for="pH_Wert"> pH_Wert</label><br>
      <input type="text" autocomplete="off" name="pH_Wert" placeholder="pH_Wert"><br>
    <!--- Flotation -------------------------------------------------------------------->
      <label for="Flotation"> Flotation</label><br>
      <input type="text" autocomplete="off" name="Flotation" placeholder="Flotation"><br>
    <!--- Zulauf ----------------------------------------------------------------------->
      <label for="Zulauf"> Zulauf</label><br>
      <input type="text" autocomplete="off" name="Zulauf" placeholder="Zulauf"><br>
  </div>

  <p>
    <input type="submit" name="neuerDatensatzZulauf" value="Zulauf eintragen">
    <input type="reset">
  </p>

  <?php
    if (isset($_POST['neuerDatensatzZulauf'])) {
      echo '<meta http-equiv="refresh" content="0.1; URL=zulauf.php">';
    }
   ?>
</form>
 
Ein einfacher if() oder besse noch ein switch() und dann den anderen Inhalt. rein

PHP:
switch($type){
    case 'zulauf'
        //TODO: Zulauf ausprogrammieren
        break;
    case 'wasser'
        //TODO: Wasser ausprogrammieren
        break;
}[code]

Jetzt musst du beim Aufrufen nur noch den $type mitgeben
 
Umgekehrt. Du gibt $type von der anderen Seite mit. Entweder über die Session (einlesen zu dem Thema lohnt sich) oder über die URL
 
Habe es so gemacht aber leider kommt
Parse error: syntax error, unexpected end of file, expecting case (T_CASE) or default (T_DEFAULT) or '}' in C:\xampp\htdocs\Website\eintrag.php on line 99

ich finde jetzt nicht den Fehler, kannst du mir da helfen ?

PHP:
<?php
switch($type){
    case 'zulauf':
        if(isset($_POST["neuerDatensatzZulauf"])){
        $Tag = $_POST["Tag"];
    #    $Wochentag = $_POST["Wochentag"];
        $Uhrzeit = $_POST["Uhrzeit"];
        $Wert = $_POST["Wert"];
        $Lufttemperatur = $_POST["Lufttemperatur"];
        $Abwassertemperatur = $_POST["Abwassertemperatur"];
        $pH_Wert = $_POST["pH_Wert"];
        $Flotation = $_POST["Flotation"];
        $Zulauf = $_POST["Zulauf"];

        // Ob , oder . eingetragen wird ist egal er checkt es
        $Lufttemperatur = str_replace(',', '.', $Lufttemperatur);
        $Abwassertemperatur = str_replace(',', '.', $Abwassertemperatur);
        $pH_Wert = str_replace(',', '.', $pH_Wert);

        // Verbindung zur Datenbankk
        $db_con = mysqli_connect($servername, $username, $password, $dbname);

        // String für SQL-Anweisung erstellen
        $insertString = "INSERT INTO zulauf(Tag, /*Wochentag,*/ Uhrzeit, Wert, Lufttemperatur, Abwassertemperatur, pH_Wert, Flotation,Zulauf)
          VALUES ('".$Tag."','".$Uhrzeit."','".$Wert."', '".$Lufttemperatur."', '".$Abwassertemperatur."', '".$pH_Wert."', '".$Flotation."', '".$Zulauf."');";
        ############### Falls Wochentag gebraucht wird einfach '".$Wochentag."', einsetzten ###################

        // SQL-Anweisung durchführen
        $check = mysqli_query($db_con, $insertString);

        if($check) {
            echo "Ein neuer Datensatz erfolgreich hinzugefügt";
        }}

    ?>

    <form action="eintrag.php" method="post">
      <div id="input">
        <!--- Tag -------------------------------------------------------------------------->
          <label for="Tag"> Tag</label><br>
          <input type="text" autocomplete="off" name="Tag" class="tcal" placeholder="Tag / Datum "><br>
        <!--- Wochentag -------------------------------------------------------------------->
        <!---  <label for="Wochentag"> Wochentag</label><br>
            <select name="Wochentag" required>
              <option value="Montag">Montag</option>
              <option value="Dienstag">Dienstag</option>
              <option value="Mittwoch">Mittwoch</option>
              <option value="Donerstag">Donerstag</option>
              <option value="Freitag">Freitag</option>
              <option value="Samstag">Samstag</option>
              <option value="Sonntag">Sonntag</option>
            </select> -------->
        <!--- Uhrzeit ---------------------------------------------------------------------->
          <label for="Uhrzeit"> Uhrzeit</label><br>
          <input type="text" autocomplete="off" name="Uhrzeit" placeholder="Uhrzeit"><br>
        <!--- Wert ------------------------------------------------------------------------->
          <label for="Wert"> Wert</label><br>
          <input type="text" autocomplete="off" name="Wert" placeholder="Wert"><br>
        <!--- Lufttemperatur --------------------------------------------------------------->
          <label for="Lufttemperatur"> Lufttemperatur</label><br>
          <input type="text" autocomplete="off" name="Lufttemperatur" placeholder="Lufttemperatur"><br>
        <!--- Abwassertemperatur ----------------------------------------------------------->
          <label for="Abwassertemperatur"> Abwassertemperatur</label><br>
          <input type="text" autocomplete="off" name="Abwassertemperatur" placeholder="Abwassertemperatur"><br>
        <!--- pH_Wert ---------------------------------------------------------------------->
          <label for="pH_Wert"> pH_Wert</label><br>
          <input type="text" autocomplete="off" name="pH_Wert" placeholder="pH_Wert"><br>
        <!--- Flotation -------------------------------------------------------------------->
          <label for="Flotation"> Flotation</label><br>
          <input type="text" autocomplete="off" name="Flotation" placeholder="Flotation"><br>
        <!--- Zulauf ----------------------------------------------------------------------->
          <label for="Zulauf"> Zulauf</label><br>
          <input type="text" autocomplete="off" name="Zulauf" placeholder="Zulauf"><br>
      </div>

      <p>
        <input type="submit" name="neuerDatensatzZulauf" value="Zulauf eintragen">
        <input type="reset">
      </p>

      <?php
        if (isset($_POST['neuerDatensatzZulauf'])) {
          echo '<meta http-equiv="refresh" content="0.1; URL=zulauf.php">';
        }
       ?>
    </form>
    <?
    break;
  }
?>
 
Zuletzt bearbeitet von einem Moderator:
Nö. Du hast ein Fehler auf Zeile 99 oder davor.
Dein geposteter Code geht bis 89. Also ist er nicht vollständig. Das ist an sich noch nicht das Problem, aber sag doch welches die Zeile 99 ist.

Ich habe mal deinen Code um <?php erweitert, damit er im Forum sauber dargestellt wird

In dem Code, den sich sehe, hast du auf Zeile 33 }}
Was wird mit der zweiten Klammer geschlossen?
Man sollte immer sauber formatieren und nie 2 Schleifen auf einer Zeile schliessen. Es macht den Code unlesbar
 
PHP:
<link rel="stylesheet" type="text/css" href="style.css">
<script type='text/javascript' src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="Javascript.js"></script>

<?php
    require_once("index.php");


switch($type){
    case ('zulauf'):
        if(isset($_POST["neuerDatensatzZulauf"])){
        $Tag = $_POST["Tag"];
    #    $Wochentag = $_POST["Wochentag"];
        $Uhrzeit = $_POST["Uhrzeit"];
        $Wert = $_POST["Wert"];
        $Lufttemperatur = $_POST["Lufttemperatur"];
        $Abwassertemperatur = $_POST["Abwassertemperatur"];
        $pH_Wert = $_POST["pH_Wert"];
        $Flotation = $_POST["Flotation"];
        $Zulauf = $_POST["Zulauf"];

        // Ob , oder . eingetragen wird ist egal er checkt es
        $Lufttemperatur = str_replace(',', '.', $Lufttemperatur);
        $Abwassertemperatur = str_replace(',', '.', $Abwassertemperatur);
        $pH_Wert = str_replace(',', '.', $pH_Wert);

        // Verbindung zur Datenbankk
        $db_con = mysqli_connect($servername, $username, $password, $dbname);

        // String für SQL-Anweisung erstellen
        $insertString = "INSERT INTO zulauf(Tag, /*Wochentag,*/ Uhrzeit, Wert, Lufttemperatur, Abwassertemperatur, pH_Wert, Flotation,Zulauf)
          VALUES ('".$Tag."','".$Uhrzeit."','".$Wert."', '".$Lufttemperatur."', '".$Abwassertemperatur."', '".$pH_Wert."', '".$Flotation."', '".$Zulauf."');";
        ############### Falls Wochentag gebraucht wird einfach '".$Wochentag."', einsetzten ###################

        // SQL-Anweisung durchführen
        $check = mysqli_query($db_con, $insertString);

        if($check) {
            echo "Ein neuer Datensatz erfolgreich hinzugefügt";
        }}
    ?>
    <form action="eintrag.php" method="post">
      <div id="input">
        <!--- Tag -------------------------------------------------------------------------->
          <label for="Tag"> Tag</label><br>
          <input type="text" autocomplete="off" name="Tag" class="tcal" placeholder="Tag / Datum "><br>
        <!--- Wochentag -------------------------------------------------------------------->
        <!---  <label for="Wochentag"> Wochentag</label><br>
            <select name="Wochentag" required>
              <option value="Montag">Montag</option>
              <option value="Dienstag">Dienstag</option>
              <option value="Mittwoch">Mittwoch</option>
              <option value="Donerstag">Donerstag</option>
              <option value="Freitag">Freitag</option>
              <option value="Samstag">Samstag</option>
              <option value="Sonntag">Sonntag</option>
            </select> -------->
        <!--- Uhrzeit ---------------------------------------------------------------------->
          <label for="Uhrzeit"> Uhrzeit</label><br>
          <input type="text" autocomplete="off" name="Uhrzeit" placeholder="Uhrzeit"><br>
        <!--- Wert ------------------------------------------------------------------------->
          <label for="Wert"> Wert</label><br>
          <input type="text" autocomplete="off" name="Wert" placeholder="Wert"><br>
        <!--- Lufttemperatur --------------------------------------------------------------->
          <label for="Lufttemperatur"> Lufttemperatur</label><br>
          <input type="text" autocomplete="off" name="Lufttemperatur" placeholder="Lufttemperatur"><br>
        <!--- Abwassertemperatur ----------------------------------------------------------->
          <label for="Abwassertemperatur"> Abwassertemperatur</label><br>
          <input type="text" autocomplete="off" name="Abwassertemperatur" placeholder="Abwassertemperatur"><br>
        <!--- pH_Wert ---------------------------------------------------------------------->
          <label for="pH_Wert"> pH_Wert</label><br>
          <input type="text" autocomplete="off" name="pH_Wert" placeholder="pH_Wert"><br>
        <!--- Flotation -------------------------------------------------------------------->
          <label for="Flotation"> Flotation</label><br>
          <input type="text" autocomplete="off" name="Flotation" placeholder="Flotation"><br>
        <!--- Zulauf ----------------------------------------------------------------------->
          <label for="Zulauf"> Zulauf</label><br>
          <input type="text" autocomplete="off" name="Zulauf" placeholder="Zulauf"><br>
      </div>

      <p>
        <input type="submit" name="neuerDatensatzZulauf" value="Zulauf eintragen">
        <input type="reset">
      </p>

      <?php
        if (isset($_POST['neuerDatensatzZulauf'])) {
          echo '<meta http-equiv="refresh" content="0.1; URL=zulauf.php">';
        }
       ?>
    </form>
    <?
    break;
  }
?>
Parse error: syntax error, unexpected end of file, expecting case (T_CASE) or default (T_DEFAULT) or '}' in C:\xampp\htdocs\Website\eintrag.php on line 97
 
Nö. Du hast ein Fehler auf Zeile 99 oder davor.
Dein geposteter Code geht bis 89. Also ist er nicht vollständig. Das ist an sich noch nicht das Problem, aber sag doch welches die Zeile 99 ist.

Ich habe mal deinen Code um <?php erweitert, damit er im Forum sauber dargestellt wird

In dem Code, den sich sehe, hast du auf Zeile 33 }}
Was wird mit der zweiten Klammer geschlossen?
Man sollte immer sauber formatieren und nie 2 Schleifen auf einer Zeile schliessen. Es macht den Code unlesbar

Mit der zweiten Klammer schließe ich
PHP:
if(isset($_POST["neuerDatensatzZulauf"])){

zweite klammer
PHP:
if($check) {
 
Warum hast du beim case noch eine runde Klammer?
Ansonstgen sehe ich den Fehler gerade nicht. Nimm mal den ganezn HTML-Grümpel raus zum Testen.

Grundsätzlich:
  • Es lohnt sich den Code SAUBER zu formatieren
  • HTML und PHP trennen. Zum Beispiel mit PHP Template Engine | Smarty oder ähnlichem. Es macht den Code viel besser lesbar
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…
Zurück