Anfänger Problem

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

  • Anfänger Problem

    Hallo!

    Nach 4 Jahren abstinenz möchte ich nun wieder was Programmieren.

    Ich hab mir den XAMPP 1.6 runter geladen und installiert und alte Codescgnipsel ausgepackt und habe direkt das erste Problem.
    Wenn ich den Code der unten folgt ausführe komme ich immer zum er zu
    " if ($set=="")"

    Warum wird $set nicht übergeben?


    <?
    include("mysql_connect.php");
    /*include("tpl/body.tpl");*/
    if ($set=="")
    {
    ?>
    <form method="post" action="checkin.php?set=1">
    <table border="0" bgcolor="#000000" cellspacing="1" align="center">
    <tr class="tdtitel" bgcolor="#cccccc">
    <td align="center" colspan="3"><h2><b>Mitglied suchen</b></h2></td>
    </tr>
    <tr class="tdtitel" bgcolor="#cccccc">
    <td align="center" ><b>Nachname</b></td>
    <td align="center" ><b>Vorname</b></td>
    </tr>
    <tr class="tdtitel" bgcolor="#ffffff">
    <td align="center" ><input size="44" type="Text" name="nname" ></td>
    <td align="center" ><input size="44" type="Text" name="vname" ></td>
    </tr>
    <tr class="tdtitel" bgcolor="#ffffff">
    <td align="center" colspan="3"><input type="Submit" name="Suchen" value="Suchen"></td>
    </tr>
    <tr class="tdtitel" bgcolor="#ffffff">
    <td align="center" colspan="2"><a href="javascript:history.go(-1)"><b>Zurück</b></a></td>
    </tr>
    </table></form>
    <?
    }

    else {

    ?>
    <table border="0" bgcolor="#000000" cellspacing="1" align="center">
    <tr class="tdtitel" bgcolor="#cccccc">
    <td align="center" colspan="4" cellpadding="3"><h2><b>Suchergebniss</b></h2></td>
    </tr>
    <tr class="tdtitel" bgcolor="#cccccc">
    <td align="center" ><b>Anrede</b></td>
    <td align="center" ><b>Vorname</b></td>
    <td align="center" ><b>Nachname</b></td>
    <td align="center" ><b>Übersicht</b></td>
    </tr>
    <?
    $query="SELECT *FROM kunden WHERE ((nname LIKE '$nname%') or (kundennummer='$nname'))";
    $res=mysql_query($query);
    $result=(mysql_num_rows($res));
    while($row=mysql_fetch_array($res)){

    echo "<tr class=\"tdtitel\" bgcolor=\"#ffffff\">
    <form method=\"post\" action=\"detail.php?set=1\">
    <td align=\"center\" ><font class=\"nav\">$row[titel]</font></td>
    <td align=\"center\" ><font class=\"nav\">$row[vname]</font></td>
    <td align=\"center\" ><font class=\"nav\">$row[nname]</font></td>
    <td align=\"center\" ><input type=\"Submit\" name=\"Übersicht\" value=\"Übersicht\"></td>
    <input type=hidden name='kundnum' value=\"$row[kundnum]\"></form>
    </tr>";

    }

    //include ("tpl/footer.tpl");
    ?>
    <tr class="tdtitel" bgcolor="#ffffff">
    <td align="center" colspan="4"><a href="javascript:history.go(-1)"><b>Zurück</b></a></td>
    </tr>
    </table>
    <?
    }?>

    Splitte ich beide in 2 Dateien auf. Also das Formular und die Ausgabe werden immer alle Datensätze angezeigt.

    Wo habe ich meinen Denkfehler?

  • #2
    register_globals

    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Nach 4 Jahren abstinenz möchte ich nun wieder was Programmieren.
      Schön!
      Es hat sich in den letzten Jahren was geändert.
      z.B. wurde register_globals=on als böse erkannt und wird darum demnächst auch ganz abgeschafft.

      Arbeite stattdessen mit $_GET und $_POST.

      ------------------------
      Zitat von Kropff Beitrag anzeigen
      5. Für die Bildungsresistenten
      Schon von import_request_variables() gehört?
      Zuletzt geändert von combie; 14.06.2009, 13:50.
      Wir werden alle sterben

      Kommentar


      • #4
        Danke. Nun Funktionierts einwandfrei. Tja, 4 Jahre sind lang und ich werde noch viele Fragen haben.

        Kommentar


        • #5
          Zitat von Kurttheo Beitrag anzeigen
          Danke. Nun Funktionierts einwandfrei. Tja, 4 Jahre sind lang und ich werde noch viele Fragen haben.
          Wo wir gerade beim Thema sind, Layout-Tabellen sind mittlerweile megaout.

          Peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            So und schon die nächste Frage.

            Wenn ich folgenden Code ausführe werden wieder alle Datensätze angezeigt:

            SELECT *FROM kunden WHERE ((nname LIKE '$_POST[nname]%') or (kundennummer='$_POST[nname]'))

            Es sollen aber nur die Nachnamen mit dm entsprechenden Buchstaben: z.B. "Mei" für Meier angezeigt werden.
            Nehme ich das "%" raus wird nur bei korrekter Eingabe ein Ergebnis angezeigt.

            Kommentar


            • #7
              Lass dir das fertig zusammengesetzte SQL-Statement mal ausgeben, bevor du es mysql_query() übergibst. Ich wette, das sieht nicht so aus wie du glaubst.
              An der Art wie man Strings zusammenbaut hat sich aber eigentlich noch nie etwas geändert. http://de.php.net/manual/en/language.types.string.php

              Und informiere dich mal über SQL-Injection!

              Kommentar

              Lädt...
              X