Portal > Foren > PHP > PHP-Programmierung > Anhang an die URL bei Weiterleitung einer Seite
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 21.07.2007, 11:27 Nach oben    #1
Benutzer
 
Registriert seit: 10.01.2007
Ort: Chemnitz
Beiträge: 47
Standard Anhang an die URL bei Weiterleitung einer Seite

hi ich grüsse euch herzlichst,

so habe wieder mal eine kleinigkeit:

und zwar möchte ich die artikelseite weiterleiten auf die nächste
(bsp: jsh-host.de wird komplett neu bearbeitet)

hier der link:

PHP-Code:

echo <<<Daten
<a href="detailorder.php?detailorder&id={$row[ID]}" class="linkorder">Details & Order</a>
Daten; 
nun prüfe ich ersteinmal ob die url im anhang auch korrekt ist und niemand kann irgendwas hinten ranhängen.


PHP-Code:

$getanhang 
= isset($_GET['id']) ? $_GET['id'] : null;
if (isset(
$getanhang$_GET['detailorder'])) {
  echo 
"<br><br>Alles Oki'.";
} else {
        echo 
"<br><br>Verwendung dieser Spezifikation sind nicht nötig!";
}

wenn alles klar ist und man kann nicht weiter anhängendann geht es im programm weiterjuhu 
jetzt meine frage, kann man dies so stehen lassen und ist dies php mässig korrekt oder gibt es noch verfeinerungsvorschläge oder wie prüfe ich noch ob es wirklich die oder eine id ist
habe es mit is_numeric(GET['$id']); probiert, kann trotzdem noch ein buchstabe anhängen.

(die seite soll sauber programmiert sein)


so habe noch etwas weiter probiert und habe es herrausgefunden.

die lösung:

PHP-Code:
$getanhang = isset($_GET['id']) ? $_GET['id'] : null;
if (isset(
$_GET['detailorder'], $getanhang)) {

$sql "SELECT * FROM wsp_produkt WHERE ID='" mysql_real_escape_string($getanhang) . "'";
$result mysql_query($sql);

while (
$row=mysql_fetch_array($result)) {

Weitere Daten
.
.
.
}

und funktioniert, man kann also die daten ändern aber es erfolgt keine ausgabe mehr.




ganz herzlichen dank für eure eventuelle info

grüssle jennifer

Geändert von jennifer (21.07.2007 um 13:07 Uhr)
jennifer ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 21.07.2007, 15:11 Nach oben    #2
Neuer Benutzer
 
Registriert seit: 23.05.2006
Ort: Meerbusch
Beiträge: 15
Standard

Hallo,

die Funktion is_numeric() prüft nur ob die übergebene Variable numerisch ist oder eine Zeichenfolge ist, die einen numerischen Wert repräsentiert und liefert in beiden Fällen TRUE.

Wenn Du den Parameterwert in einen numerischen Wert umwandeln willst, probiere es mal mit intval oder Type-Casting. Siehe auch: Konverierung von Zeichenfolgen zu numerischen Werten im Manual.

PHP-Code:
 
// mit der Funktion intval
$id intval($_GET['id']);
 
// mittels Type-Casting
$id = (int)$_GET['id']; 
100% korrekt und sauber: Mit der Sicherstellung des korrekten Typs und/oder dem Escaping verhinderst Du zumindest schon Mal eine SQL-Injection.

Du solltest aber das Ergebnis der Abfrage prüfen und entsprechend handeln wenn die Abfrage kein Ergebnis liefert. Heißt, prüfe den Rückgabewert von mysql_query:

PHP-Code:
 
$result 
mysql_query($sql);
if(
false !== $result) {
  while(
false !== ($row mysql_fetch_array($result))) {
    
// ... Verarbeitung der Datensätze  ...
  
}
} else {
  
// Kein Ergebnis, also ist die ID nicht bekannt
  
echo "Unbekannt ID";

carrib ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 21.07.2007, 17:59 Nach oben    #3
Benutzer
 
Registriert seit: 10.01.2007
Ort: Chemnitz
Beiträge: 47
Standard

hi, ganz herzlichen dank für die info, habe es gleich eingebaut

und so schaut der code aus

PHP-Code:

error_reporting
(E_ALL);
include 
"zugriff.inc.php";

$getanhang = isset($_GET['id']) ? (int)$_GET['id'] : null;
if (isset(
$_GET['detailorder'], $getanhang)) {

$sql "SELECT * FROM wsp_produkt WHERE ID='" mysql_real_escape_string($getanhang) . "'";
$result mysql_query($sql);

if(
false !== $result) {
  while(
false !== ($row mysql_fetch_array($result))) {

lauter Daten
.
.
.
 }
} else {
  
// Kein Ergebnis, also ist die ID nicht bekannt
  
echo "Unbekannt ID";
}
} else {
    echo 
"<table width='400' class='td_content' align='center' style='margin-top:50px:padding:10px'><tr>".
              
"<td>Verwendung dieser Spezifikation sind nicht nötig!</td>".
            
"</tr><tr>".
            
"<td align='right'><a href='http://www.jsh-host.de'>Zur Hauptseite</a></td>".
            
"</tr></table>";

das heisst wenn ich auf die zahl erhöhe auf bsp: 44 kommt eine leere seite (da es den datensatz nicht gibt)
und wenn ich an die id=2 einen buchstaben hänge oder anderes zeug wird es umgewandelt in id=2 und damit auch die anzeige des datensatzes, habe auch mal eine url hinten rangehangen
wird auch sauber angezeigt ohne das was passiert.

nochmals ganz herzlichen dank

jennifer
jennifer ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 24.07.2007, 20:38 Nach oben    #4
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.512
Standard

Zitat:
Zitat von jennifer Beitrag anzeigen
bsp: 44 kommt eine leere seite (da es den datensatz nicht gibt)
Würde es vielleicht so machen, dass ich dann eine Weiterleitung (header()) auf die Übersichtsseite ausführen würde.

Wirkt irgendwie benutzerfreundlicher. Aber das nur als Randpunkt.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Tomcat 5.5] Eigener Filter schuld am doppelten Laden der Seite? WarrenFaith Tools, Server, Betriebssysteme 2 18.04.2007 21:29
[JSP] Aktuelle Seite (URL) auslesen WarrenFaith Allgemeine Java-Programmierung 0 11.03.2007 15:41
[PHP] 404-Fehlerseiten als Chance PaterNoster Tutorials 0 23.04.2006 15:04
Wie erkennen, wann Seite komplett geladen? Basti77 Allgemeine Java-Programmierung 5 04.08.2005 12:23
[PHP] Wie übergebe ich Daten per URL? Ben Tutorials 0 05.12.2004 14:36


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:03 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45