Probleme mit Variablenübergabe

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

  • 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

    Comment


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

      Comment


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

        Comment


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

          Comment


          • #6
            und im else fehlt noch ein

            PHP Code:
            $row mysql_fetch_object($ergebnis
            mfg
            marc75

            <Platz für anderes>

            Comment


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

              Comment


              • #8
                kuckst du code-highlighting?

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

                Comment


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

                  Comment

                  Working...
                  X