XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Serveradministration und serverseitige Scripte (http://xhtmlforum.de/forumdisplay.php?f=80)
-   -   Variable per GET übergeben und weitere Infos anzeigen (http://xhtmlforum.de/showthread.php?t=52203)

Praktikant 10.06.2008 15:36

Variable per GET übergeben und weitere Infos anzeigen
 
Huhu ihr :)

ich habe auch mal wieder eine Frage.... und zwar hat doch bestimmt jeder von euch schon einmal mit php-MyAdmin gearbeitet. Wenn man dort in einer Datenbank einen Datensatz editieren will, dann sucht man diesen aus einer langen Liste raus und kann dann auf "editieren" klicken. Ich brauche das jetzt für meine eigene Seite.
Dafür übergebe ich die ID des Datensatzes über die "$_GET"-Variable und möchte dann auf der nächsten Seite genau diese Datensatz anzeigen. Nur leider bleibt bei mir das Fenster dann leer.... Ich habe keine anzeige für einen Datensatz.

Dies ist der Link mit dem ich die ID per "$_GET"-Variable übergeben möche:
PHP-Code:

echo "<td width=\"30px\" align=\"center\" valign=\"top\" style=\"padding:2px;\"><a href=\"kmeinung_editieren.php?sid=".session_id()."&amp;id=".$id."\">".$row['id']."</a></td>\n"

.... und an dieses Formular soll übergeben werden:
PHP-Code:

            <? echo "<form action=\"kmeinung_editiert.php?sid=".session_id()."\" method=\"post\">\n"?>
                <input type="hidden" name="id" value="<? echo $id?>" />
            <table border="0" cellpadding="0" cellspacing="2">
                <tr>
                    <td width="150px" valign="top">ID</td>
                    <td><input type="text" name="id" value="<? $row['id'?>" class="input" /></td>
                </tr>
                <tr>
                    <td valign="top">Sortierung</td>
                    <td><input type="text" name="sortierung" value="<? $row['sortierung'?>" class="input" /></td>
                </tr>
                <tr>
                    <td valign="top">Name des Kunden:*</td>
                    <td><input type="text" name="name_kunde" class="input" value="<? $row['name_kunde'?>" /></td>
                </tr>
                <tr>
                    <td valign="top">Weblink des Kunden:</td>
                    <td><input type="text" name="link" class="input" value="<? $row['link'?>" /></td>
                </tr>
                <tr>
                    <td valign="top">Firma des Kunden:*</td>
                    <td><input type="text" name="link_name" class="input" value="<? $row['link_name'?>" /></td>
                </tr>
                <tr>
                    <td valign="top">Ort des Kunden:</td>
                    <td><input type="text" name="ort_kunde" class="input" value="<? $row['ort_kunde'?>" /></td>
                </tr>
                <tr>
                    <td valign="top">Kundenmeinung:*</td>
                    <td><textarea name="kundenmeinung" cols="35" rows="8"><? $row['meinung_kunde'?></textarea></td>
                </tr>
                <tr>
                    <td>&nbsp;</td>
                    <td><input type="submit" name="Eintragen" value="Eintragen" class="submit" /></td>
                </tr>

Ich habe noch nie mit der GET-Variable gearbeitet und bei einer großen Internetsuchmaschine leider auch nichts gefunden, das genau auf mein Thema passt. Ich hoffe Ihr könnt mir da weiterhelfen. Vielen Dank im Voraus :)

Mit freundlichem Gruß
eXHTML

Timo 10.06.2008 15:53

Gibt es einen unterschie zwischen $id und $row['id']. Steht die ID auch in der Adressleiste?

Praktikant 10.06.2008 15:58

In $id und $row['id'] steht im Grunde genommen das selbe, aber $id kommt aus der "$_GET"-Variable (und steht natürlich auch in der Adressleiste) und $row['id'] kommt direkt aus der Datenbank.

Chrunchy 10.06.2008 16:24

Wird denn die Variable übermittelt, also steht sie im Script zur Verfügung?

Muss gestehen, so ganz habe ich noch nicht geblickt was du vor hast.

Praktikant 10.06.2008 16:35

Also... ich hänge die Varibale einfach an den Link (ganz oben) an und dann dann habe ich einen Link á la :
http://www.***.de/admin/dateiname.ph...SESSIONID&id=1
(Beispiel)

id wird dann übergeben und cih brauche es dann wieder in der $_GET-Variable, die ich dann ausgeben könnte, was auch klappt. Die Varible ist also da.
Ich brauche jetzt diese Variable, dass mir ein Bestimmter Datensatz aus meiner Datenbank gesucht wird und zwar genau der, der geändert werden soll.

Das sieht dann im Beispiel so aus:

Seite A verlinkt über diesen Link:
http://www.***.de/admin/seite_a.php?sid=SESSIONID&id=1
auf Seite B. Auf Seite B wird dann aus einer Datenbank der Datensatz mit der ID 1 angezeigt und kann nun geändert werden.

Mein Problem ist aber, dass ich das nur theoretisch hin bekomme.

Timo 10.06.2008 16:45

Du weißt schon das du mit $_GET['id'] zugreifen kannst?

Chrunchy 10.06.2008 16:51

Zitat:

Zitat von Timo (Beitrag 389466)
Du weißt schon das du mit $_GET['id'] zugreifen kannst?

Und das du dann noch den Datensatz mittels Select erstmal aus der DB auslesen musst.

Timo 10.06.2008 16:52

Währ auch von Vorteil

Praktikant 10.06.2008 21:17

Ja, schon ich hätte ja jetz auch den ganzen Quellcode hier posten können, aber das hätte wohl den rahmen gesprengt....

also... außerhalb des Ausschnittes wird eine Datenabknverbing aufgebaut und der Datensatz ausgegelesen. (Is ja klar, sonst würde ich auch nicht fragen....)
Ich habe nur leider das Problem, dass die Felder leer sind....
Ein Onlinebeispiel kann cih aber leider nicht posten, da der Quellcode aus eine Passwortgeschützten Bereich kommt, weil man ja schon auf die Datenbank zugreifen kann und auch Datensätze einfügen kann.

mantiz 10.06.2008 21:54

Sorry, aber ich muss fragen, versuchst Du immer noch die Daten folgendermaßen aus der DB zu holen?
PHP-Code:

$sql "SELECT
                                id,
                                name
                        FROM
                                user
                        WHERE
                                (name = '"
.$_REQUEST['Username']."') AND (passwort = '".md5 ($_REQUEST['Passwort'])."');";
                
$result mysql_query($sql) OR die(mysql_error());
                
                if (
mysql_num_rows ($result) > 0) {
                    
$date time();
                    
var_dump($date);
                    
$upd "UPDATE
                                    user
                            SET
                                    timestamp ='"
.$date."'
                            WHERE
                                    id = '"
.$sql['id']."';"

oder machst Du es nun korrekt, und zwar so
PHP-Code:

$sql "SELECT
                                id,
                                name
                        FROM
                                user
                        WHERE
                                (name = '"
.$_REQUEST['Username']."') AND (passwort = '".md5 ($_REQUEST['Passwort'])."');";
                
$result mysql_query($sql) OR die(mysql_error());
                
                if (
mysql_num_rows ($result) > 0) {
                    
$row mysql_fetch_array($result);
                    
$date time();
                    
var_dump($date);
                    
$upd "UPDATE
                                    user
                            SET
                                    timestamp ='"
.$date."'
                            WHERE
                                    id = '"
.$row['id']."';"

?


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:47 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023