Ankündigung

Einklappen
Keine Ankündigung bisher.

ISSET() einfügen, immer falsche werte

Einklappen

Neue Werbung 2019

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

  • ISSET() einfügen, immer falsche werte

    Guten Abend..
    Versuche die ISSET funktion einzubinden.. Leider hab ich einen Fehler, weiß aber nicht wo..

    Ich möchte, dass, wenn ich die seite aufrufe erst unden garnichts erscheint.
    Die Isset funktion soll mir helfen, wenn nichts eingegeb wurde.

    Doch leider, geht alles schief wenn ich ISSET einbaue.
    Bevor ich ISSET eingebaut hab, war alles so wie ich es wollte.
    z.B wenn ich 11 in die Lücke eingetragen habe,stand 0 Euro versandkosten. Doch so, mit ISset, kommt da dann wenn man 11 einträgt garnichts mehr raus:S

    bitte um hilfe


    PHP-Code:
    <center>

    <b>Wie viele Hefte möchten Sie bestellen?</b>
    <br>
    <form action="versand1.php" method="POST">
    <table>
    <tr>
    <th><input type="text" name="anzahl"> </th>
    <th></th></tr>
    </table>

    <input type="submit" value="Daten Absenden">
    <br>
    <br>
    <br>
    <?php
    if (isset($_POST[anzahl]))
    {
    if (
    $_POST[anzahl]<=3)
    {echo 
    "Für $_POST[anzahl]Titel berechnen wir 2,00 Euro Versandkosten!";}
    elseif(
    $_POST[anzahl]<=7)
    {echo 
    "Für $_POST[anzahl]Titel berechnen wir 2,60 Euro Versandkosten!";}
    elseif (
    $_POST[anzahl]<=10)
    {echo 
    "Für $_POST[anzahl]Titel berechnen wir 5,00 Euro Versandkosten!";}
    }
    else
    {echo 
    "Wir berechnen für diese Titel 0 Euro Versankosten!";}
    ?>
    </center>

  • #2
    Code:
    <form action="versand1.php" method="POST">
    Probiers mal mit method="post" *denk*

    Kommentar


    • #3
      Zunächst: Es muss $_POST['anzahl'] heißen nicht $_POST[anzahl].

      Dann ist dir dein letztes "else" zu weit nach außen gerutscht. Rücke den Code ordentlich ein und du wirst sehen was ich meine.

      Kommentar


      • #4
        vielen dank!

        Habe jetzt folgendes gemacht, aber bekomme die fehlermeldung :

        Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\php\versand\versand1.php on line 28

        PHP-Code:
        <center>

        <b>Wie viele Hefte möchten Sie bestellen?</b>
        <br>
        <form action="versand1.php" method="post">
        <table>
        <tr>
        <th><input type="text" name="anzahl"> </th>
        <th></th></tr>
        </table>

        <input type="submit" value="Daten Absenden">
        <br>
        <br>
        <br>
        <?php
        if (isset($_POST['anzahl']))
        {
        if (
        $_POST['anzahl']<=3)
        {echo 
        "Für $_POST['anzahl']Titel berechnen wir 2,00 Euro Versandkosten!";}
        elseif(
        $_POST['anzahl']<=7)
        {echo 
        "Für $_POST['anzahl']Titel berechnen wir 2,60 Euro Versandkosten!";}
        elseif (
        $_POST['anzahl']<=10)
        {echo 
        "Für $_POST['anzahl']Titel berechnen wir 5,00 Euro Versandkosten!";}
        }
        else {echo 
        "Wir berechnen für diese Titel 0 Euro Versankosten!";}
        ?>
        </center>

        Kommentar


        • #5
          Innerhalb von " musst du wiederum $_POST[anzahl] schreiben oder du verwendest dort Stringverkettung. Also so:
          PHP-Code:
           echo "Für " $_POST['anzahl'] . " Titel berechnen wir ..:"
          Aber dein eigentliches Problem ist immernoch, dass das letzte "else" zu if(isset($_POST['anzahl']){} gehört und du es vermutlich eher hinter das letzte elseif setzen wolltest.

          Wie gesagt: Rücke deinen Code vernünftig ein. Dann siehst du solche "Fehler" viel schneller.

          Kommentar


          • #6
            ich entschuldige mich: aber verstehe leider nicht was sie mit dem verschieben von else meinen
            PHP-Code:
            <center>

            <b>Wie viele Hefte möchten Sie bestellen?</b>
            <br>
            <form action="versand1.php" method="post">
            <table>
            <tr>
            <th><input type="text" name="anzahl"> </th>
            <th></th></tr>
            </table>

            <input type="submit" value="Daten Absenden">
            <br>
            <br>
            <br>
            <?php
            if (isset($_POST['anzahl']))
            {
            if (
            $_POST['anzahl']<=3)
            {echo 
            "Für $_POST[anzahl]Titel berechnen wir 2,00 Euro Versandkosten!";}
            elseif(
            $_POST['anzahl']<=7)
            {echo 
            "Für $_POST[anzahl]Titel berechnen wir 2,60 Euro Versandkosten!";}
            elseif (
            $_POST['anzahl']<=10)
            {echo 
            "Für $_POST[anzahl]Titel berechnen wir 5,00 Euro Versandkosten!";}

            else {echo 
            "Wir berechnen für diese Titel 0 Euro Versankosten!";} }
            ?>
            </center>

            Kommentar


            • #7
              Bitte beschäftige dich mal mit den Grundlagen des Programmierens.
              Nach einem "if" rückt man den Code ein - so wird es lesbarer...:
              PHP-Code:
              <?php
              if (isset($_POST['anzahl']))
              {
                  if (
              $_POST['anzahl']<=3)
                  {
                      echo 
              "Für $_POST[anzahl]Titel berechnen wir 2,00 Euro Versandkosten!";
                  }
                  elseif(
              $_POST['anzahl']<=7)
                  {
                      echo 
              "Für $_POST[anzahl]Titel berechnen wir 2,60 Euro Versandkosten!";
                  }
                  elseif (
              $_POST['anzahl']<=10)
                  {
                      echo 
              "Für $_POST[anzahl]Titel berechnen wir 5,00 Euro Versandkosten!";
                  }
                  else 
                  {
                      echo 
              "Wir berechnen für diese Titel 0 Euro Versankosten!";
                  } 
              }
              ?>
              Ist doch viel übersichtlicher als dein Quellcode - und man sieht auf einen Blick, dass die Schachtelung nun stimmt. (Zuvor hat das letzte else zum aller ersten if gehört...)

              Kommentar


              • #8
                Irgendwas stimmt mit deinem Code aber trotzdem nicht. Würde man -5 bestellen, berechnest du 2 Euro Versandkosten.
                Außerdem steigen deine Versandkosten bis zu 10 Artikeln, danach gibt's den Versand kostenlos - is das gewollt?
                Am besten überdenkst du das nochmal. Wenn du mehrere Versandkosten-Stufen zu verwalten hast, solltest du dir auch überlegen, das per Datenbank oder in einer Configdatei verwalten willst.

                Kommentar

                Lädt...
                X