$id ist da und dann doch nicht

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

  • $id ist da und dann doch nicht

    der code erklärt sich von selbst id wird per get übergeben und funzt auch aber dann is sie leer und dann doch wieder da

    PHP-Code:
    <?
    $id=$_GET['id'];
    //....
    ?> 
    <form id="beispielform" method="get" action="edit.php">
      <input type="hidden" name="id" id="id" value="<?php echo $id ?>">
      <label for="name">Firma</label> <input type="text" id="firma" name="firma" value="<?php echo $row['firma'?>" /><br />
      <label for="name">Plz</label> <input type="text" id="plz" name="plz" value="<?php echo $row['plz'?>"/><br />
      <label for="name">Strasse</label> <input type="text" id="strasse" name="strasse" value="<?php echo $row['strasse'?>"/><br />
      <label for="name">Nr</label> <input type="text" id="nr" name="nr" value="<?php echo $row['nr'?>"/><br />
      <label for="name">Bannerfile</label> <input type="text" id="bannerfile" name="bannerfile" value="<?php echo $row['bannerfile'?>"/><br />
      <label for="name">Oeffnungszeiten</label> <input type="text" id="oeffnungszeiten" name="oeffnungszeiten" value="<?php echo $row['oeffnungszeiten'?>"/><br />
      <label for="name">eMail</label> <input type="text" id="email" name="email" value="<?php echo $row['email'?>"/><br />
      <label for="name">Telefon</label> <input type="text" id="telefon" name="telefon" value="<?php echo $row['telefon'?>"/><br />
      <label for="name">Werbetext</label> <input type="text" id="werbetext" name="werbetext" value="<?php echo $row['werbetext'?>"/><br />
      
      <select id="Kategorie" name="Kategorie">
    <?
    $sql="SELECT id, bezeichnung FROM categorie";
     echo "id".$id;
    if ($result = mysqli_query($db,$sql)) {
     $row2 = mysqli_fetch_assoc($result);
    }
     /* 

     */
     echo "id".$id;
    ?>
        <option value="<?php echo $row['cid']?>"><?php echo $row['bezeichnung']?></option>
        <option value="<?php echo $row2['id']?>"><?php echo $row2['bezeichnung']?></option>
      </select>
    <?php echo $id ?><?php echo $id ?><?php echo $id ?><?php echo $id ?><?php echo $id ?><?php echo $id ?><?php echo $id ?><?php echo $id ?>
    // da funzt es noch
    <br />
      <input type="submit" id="submit" />
    </form>
    <p> </p>  
    <a href="edit.php?id="<?php echo $id ?>"&freischalten=true">Freischalten</a> // da wos wichtig ist natürlich nicht 
    <a href="edit.php?id="<? echo $id ?>"&laufzeit=true">Laufzeit verl&auml;ngern</a>
    <a href="edit.php?id="<? echo $id ?>"&deaktivieren=true">Deaktivieren</a>
    <a href="edit.php?id="<? echo $id ?>"&delete=true">L&ouml;schen</a>
    <a href=""> </a>
    <?php echo $id ?><?php echo $id ?><?php echo $id ?><?php echo $id ?>
    // da wo ich es nicht mehr brauch funzt es selbstverständlich wieder

  • #2
    Hallo,

    PHP: Beschreibung der php.ini-Direktiven des Sprachkerns - Manual

    und das Trennzeichen für Parameter (&) musst du im HTML-Code escapen: &amp;

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Dein HTML-Code ist kaputt. Angenommen $id hat den Wert 1337, dann gibst du folgenden HTML-Code aus:
      Code:
      <a href="edit.php?id="1337"&freischalten=true">Freischalten</a>
      Aber das hättest du auch selber gesehen, würdest du den HTML-Code im Browser anschauen.

      Außerdem ist, wie bereits erwähnt, das &-Zeichen alleine nicht erlaubt, auch wenn es die Browser im Normalfall akzeptieren.

      Kommentar


      • #4
        Und du bist dir sicher, dass der Inhalt nicht im quelltext auftaucht? Die Links sind nämlich falsch ausgezeichnet …
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          PHP-Code:
          <a href="edit.php?id=<? echo $id ?>&amp;freischalten=true">Freischalten</a>
          <a href="edit.php?id=<? echo $id ?>&amp;laufzeit=true">Laufzeit verl&auml;ngern</a>
          <a href="edit.php?id=<? echo $id ?>&amp;deaktivieren=true">Deaktivieren</a>
          <a href="edit.php?id=<? echo $id ?>&amp;delete=true">L&ouml;schen</a>
          jetzt funzt es, thx
          Zuletzt geändert von meskalin; 06.06.2010, 21:35.

          Kommentar


          • #6
            Dein Code ist übrigens anfällig für XSS-Attacken. Wenn du $id auf Integer castest, umgehst du das Problem.

            Kommentar


            • #7
              thx, hab ein

              PHP-Code:
              if (!is_numeric($id)) {
                  die (
              "id keine nr");

              drin, hab nicht den ganzen code hier geposted.

              Kommentar

              Lädt...
              X