Probleme mit Variablenübergabe

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

  • Probleme mit Variablenübergabe

    folgender code gibt ein auswahlmemenu aus, welchen beitrag einer news-seite man löschen/editieren will. beim ersten aufruf wird die variable "?id=no" mitgesendet, hier klappt auch alles noch prima. wähle ich dann einen beitrag, wird mir die variable allerdings nicht übergeben. wo liegt der fehler?

    @mods: ich denke es liegt am code, nicht am server oder der php-version. bei bedarf reiche ich das natürlich nach.

    PHP-Code:
    $i $HTTP_GET_VARS["id"];

    if(
    $i=no)
    {
    $abfrage "SELECT id, title FROM news ORDER BY id DESC";
    $ergebnis mysql_query($abfrage);
    echo 
    '<form action="newsedit.php?id='.$id.'" method="post" style="padding:10px">
         <select name="Auswahl" class="select" size="1">'
    ;

    while(
    $row mysql_fetch_object($ergebnis))
    {
    echo 
    '<option value="'.$row->id.'">'.$row->title.'</option>';
    }
    echo 
    '</select><br><br><input type="submit" value="Weiter" class="submit"></form>';
    }

    else
    {
    $id $HTTP_POST_VARS["id"];

    $abfrage "SELECT id, title, teaser, text, url FROM news WHERE (id = '".$id."')";

    $ergebnis mysql_query($abfrage);

    echo 
    '<form action="scripts/newsedit.php?id='.$id.'" method="post" style="padding:10px">
         Überschrift:<br>
         <input type="text" name="title" size="50" class="textfeld" value="'
    .$row->title.'"><br>
      Einführungstext:<br>
      <textarea name="teaser" cols="50" rows="10" class="textfeld" value="'
    .$row->teaser.'"></textarea><br>
      Text:<br>
      <textarea name="text" cols="50" rows="20" class="textfeld" value="'
    .$row->text.'"></textarea><br>
      Website (optional):<br>
      <input type="text" name="url" size="50" class="textfeld" value="'
    .$row->url.'"><br>
      <br>
      <input type="submit" value="Verändern" name="submit" class="submit">
      <input type="submit" value="Löschen" name="submit" class="submit">
    </form>'
    ;


  • #2
    *hust
    Code:
    [B]$i = $HTTP_GET_VARS["id"];[/B]
    
    if($i=no)
    {
    $abfrage = "SELECT id, title FROM news ORDER BY id DESC";
    $ergebnis = mysql_query($abfrage);
    echo '<form action="newsedit.php?id='.[B]$id[/B].'" method
    Kissolino.com

    Kommentar


    • #3
      danke für den tipp. aber leider lag es nicht daran. er gibt mir jetzt "id=" raus und lädt trotzdem die auswahlliste.

      Kommentar


      • #4
        action="newsedit.php ?id='.$id.'" method="post"
        das ist GET wenn du dafür ein input=hiddenfeld nimmst ist es POST
        mfg
        marc75

        <Platz für anderes>

        Kommentar


        • #5
          naja, dann hast du im ersten if() noch eine zuweisung KEINEN vergleich => "=" vs "=="
          Kissolino.com

          Kommentar


          • #6
            und im else fehlt noch ein

            PHP-Code:
            $row mysql_fetch_object($ergebnis
            mfg
            marc75

            <Platz für anderes>

            Kommentar


            • #7
              danke schonmal für eure mühen. habe soweit alles geändert. einen fehler habe ich noch selber gefunden (bei der textarea). das script, worauf ich umleite funzt jetzt aber leider nicht. egal, ob ich "löschen" oder "verändern" klicke. habe alle post durch get ersetzt. kann mir das übrigens mal kurz jemand erklären? dachte bislang, man könnte jedes formular mit post weitergeben.

              PHP-Code:
              include("checkuser.php");
                include(
              "dbconnect.php");

                
              $id $HTTP_GET_VARS["id"];
                
              $title $HTTP_GET_VARS["title"];
                
              $teaser $HTTP_GET_VARS["teaser"];
                
              $text $HTTP_GET_VARS["text"];
                
              $url $HTTP_GET_VARS["url"];
                
              $submit $HTTP_GET_VARS["submit"];

                if(
              $submit=="Löschen")
                {
                
              $löschen "DELETE * FROM news WHERE (id = '".$id."');

                
              $ausführen = mysql_query($löschen);
                }

                else
                {
                
              $eintrag1 = "UPDATE news Set title '".$title."'teaser '".$teaser."'text '".$text."',
                
              url '".$url."' WHERE id '".$id."'";

                
              $eintrag2 = "UPDATE news Set title '".$title."'teaser '".$teaser."'text '".$text."',
                
              url NULL WHERE id '".$id."'";

                if(empty(
              $url)
                {
                
              $eintragen = mysql_query($eintrag2);
                }
                else
                {
                
              $eintragen = mysql_query($eintrag1);
                }
                }

                header ("
              Location: ../internmenu.php"); 
              Fehler:
              Parse error: parse error, unexpected T_STRING in /usr/home/a2k2/domains/a2k2.antifa.net/private_html/scripts/newsedit.php on line 21 -> das ist die zeile $eintrag1 = ...

              Kommentar


              • #8
                kuckst du code-highlighting?

                unexpected schtring eben ...
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  jetzt klappt es endlich. immer diese anführungzeichen, tztztz...

                  danke für eure hilfe. ps: ich bleibe bei post. das mit dem get geht bei langen texten etc. nicht gut.

                  Kommentar

                  Lädt...
                  X