$id ist da und dann doch nicht

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • $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]

    Comment


    • #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.

      Comment


      • #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

        Comment


        • #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
          Last edited by meskalin; 06-06-2010, 20:35.

          Comment


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

            Comment


            • #7
              thx, hab ein

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

              drin, hab nicht den ganzen code hier geposted.

              Comment

              Working...
              X