Probleme mit HREF ?!?
Übersicht

![]() |
hecticSieger des IS Talentwettbewerb 2006Betreff: Probleme mit HREF ?!? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab für mein Bruder ein Onlieshop erstellt, doch ein Kollege von ihm als auch mein Bruder können einen Link auf diesem Onlineshop nicht anklicken, und mir steht nur ein großes Fragezeichen vor dem Gesicht. Zumindest geht es bei meinem Bruder nur auf einem internetfähigem Mobiltelefon nicht, bei seinem Kollegen soll es wohl ein älterer PC sein. Zuerst bin ich von einer verkorksten Installation vom PC ausgegangen, aber dann hat mein Bruder mir das selbe Problem auch auf sein Handy mitgeteilt.
Ich kenne mich im übrigen mit den ganzen PDAs und internetfähigen Mobiltelefonen nicht aus. Muß man da eventuell was spezielles beachten? Dabei hat genau dieser Link bei einer W3C-Zertifizierung 0 Fehler erhalten. - - - Im Header werden die _GET-Werte auf folgende lokale Variablen runter gezogen: Code: [AUSKLAPPEN] // alle gets runter ziehen
$get_kategorie_x=$_GET['kx']; $get_kategorie_y=$_GET['ky']; Hier der PHP-Code, vielleicht kennt der eine oder andere das Problem und kann mir mal ein Tipp zu geben: Code: [AUSKLAPPEN] // switch = mehrere artikel
if ($switch==2) { // kategorie_z - aufbereiten $zresu=mysql_query('SELECT * FROM kategorie_z WHERE z_y_id="'.$get_kategorie_y.'"',$link); while($zdata=mysql_fetch_assoc($zresu)) { // artikel - aufbereiten $aresu=mysql_query('SELECT * FROM artikel WHERE a_id="'.$zdata['z_a_id'].'"',$link); $adata=mysql_fetch_array($aresu); // eine produkt voransicht echo '<a href="info-menulist.php?kx='.$get_kategorie_x.'&ky='.$get_kategorie_y.'&ak='.$zdata['z_a_id'].'">'; echo '<div class="ware-main">'; // produkt voransicht bild echo '<div class="ware-bild">'; echo '<img src="ware1/'.$adata['a_id'].'.jpg" alt="Warenansicht" />'; echo '<img src="text-info.png" alt="Warenansicht" />'; echo '</div>'; // produkt voransicht text echo '<div class="ware-kurz">'; echo '<ware-maxi>'.$adata['a_kurztext'].'</ware-maxi><br /><ware-mini>Artikel-Nr.: A'.$adata['a_id'].'</ware-mini><br /> <br />'; echo '<cent-maxi>'.number_format($adata['a_kosten']/100,2,',','').' Euro</cent-maxi>'; echo '</div>'; echo '</div>'; echo '</a>'; } } Falls es noch interessiert. Die relevanten CSS-Inhalte u.a. mit echter XML-Anwendung (sollte aber kein Problem sein) Code: [AUSKLAPPEN] .ware-main {
display: block; width: 700px; height: 138px; margin-bottom: 15px; } .ware-bild { float: left; width: 140px; padding: 4px; border: solid 2px #ccc; } .ware-kurz { float: left; width: 320px; margin-left: 15px; } ware-maxi { font-size: 1.2em; font-weight: bolder; color: #444; } ware-mini { font-size: 0.7em; font-weight: lighter; color: #444; } cent-maxi { font-size: 1.2em; font-weight: bolder; color: #b23; } cent-mini { font-size: 0.7em; font-weight: lighter; color: #b23; } Und hier mal die Links Testumgebung oder Produktiv wer es selbst mal ausprobieren möchte. Auf beiden das selbe. Das gleiche Problem anscheinend auch dann, wenn man sich in der Produktdetailansicht befindet und dann auf Zoom klickt. - - - get_kategory_x ist die erste Ebene des Menüs links (schwarze Schrift) get_kategory_y ist die zweite Ebene des Menüs links (rote Schrift) Die Beschreibung meines Bruders ist, er müsse 20'000 mal auf den Link klicken, bis er da rein kommt. Kann es sein das manche Browser ein Link um ein DIV-Kontainer nicht akzeptieren? |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
AnniXa |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich hätte auf den ersten blick ja eher getippt das der alte PC und das PDA ding probleme mit js haben bzw das da ausgeschaltet oder eingeschränkt ist. (popup block?)
aber soweit warst du sicher selbst schon. auf meiner Playstation Portable funktioniert es habs da mal getestet, mehr kann ich dir da auch nicht helfen. ansonsten sieht es aus als wäre das <div> im <a> eingepackt? eigentlich müste w3c da meckern denn das darf eigentlich nicht sein das ein div in einem ankerelemt ist, aber ob dies nun der grund für die disfunktion ist glaube ich fast garnichtmal,oder ist das in xhtml inzwischen erlaubt? wenn es am div liegt, versuch mal einfach ein <a> zu nehmen mit einer speziellen css klasse, und dieser klasse weist du die eigenschaft "display:block" zu. dann kannst du sie fast wie ein div plazieren, größe festlegen und behandeln. |
||
|moonForge|
Ich bin Pokémon Meisterin seit 1998! |
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sorry, wenn das jetzt blöd klingt, aber du wie kommt du für die Seite auf 0 Fehler?
http://validator.w3.org/check?...0&ss=1 165 Fehler, 50 Warnungen Fehlerquellen bei dir:
So das wars erstmal. |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sorry, die 0 Fehler beziehen sich nicht auf das Produktivsystem, sondern auf die Testumgebung. Diese hatte ich dann auch zuerst gepostet gehabt. Aber auch die hat nun 8 Fehler ![]() Edit1: Ich muß da wohl mit den Verzeichnissen durcheinander gekommen sein, denn jetzt liegen auch ein paar Dateien von einer älteren Version des Shops drauf. So ein Mist, muß jetzt erst einmal Ordnung schaffen. Das kann ich aber erst morgen machen, da ich heute noch weg muß. |
||
#ReaperNewsposter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mal so eine Frage:
Code: [AUSKLAPPEN] $get_kategorie_x=$_GET['kx'];
$get_kategorie_y=$_GET['ky']; ... $zresu=mysql_query('SELECT * FROM kategorie_z WHERE z_y_id="'.$get_kategorie_y.'"',$link); ... Steht das genau so im Code drinnen? Oder ist da irgendwo noch der Aufruf von z.B. mysql_real_escape_string() vor dem Query? Auf die PHP-Configeinstellung "Magic Quotes", welche automatisch " und ' (und ggf. weitere) Zeichen in den GET und POST-Strings escaped, soll man sich nicht verlassen, habe ich so zu mindestens schön öfters gelesen. Evtl. weil diese ja auch mal schnell deaktiviert sein kann. Zum HTML-Code kann ich allerdings nichts sagen, nur das mir es neu wäre, wenn man selber Tags definieren könnte. Und dass leider an dem XHTML-Standard nicht mehr weitergearbeitet wird, aber das ist OT... ![]() |
||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
?kx='.$get_kategorie_x.'&ky='.$get_kategorie_y.'&ak='.$zdata['z_a_id'].'">';
finde ich komisch ?kx='abc'&ky='abc'&ak='abc' warum & statt & das & war doch wenn & im Text vor kommt . Für Parameter Werte wie "abc" URLENCODE UND URLDECODE benutzen . Dabei wird z.B. aus einem Space ein %20 Ein & im Parameter würde ja sonst deine Get Anweisung kaputt machen und es wird mit URLENCODE auch umgewandelt . Über Java Script kann man auch Eingabe Elemente an ein Dummy Formular <FORM... hängen und das dann universal einsetzen . Wenn z_y_id von Typ Zahl ist nicht mit " suchen im SQL Spruch . statt echo '<a href= würde ich eine PHP Funktion machen die sowas ausgibt und da einfach parameter einsetzt . statt select * immer nur die Felder die man braucht . |
||
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Markus2
man muss jedes vorkommen von & in einem HTML-Dokument mit & kodieren, nicht nur im Text. |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, der W3C-Validator hat bei mir an dieser Stelle gemekert. Also hab ich auch ins URL-$_GET dann & statt nur & gemacht. Wusste ich vorher auch nicht.
Markus2 URLENCODE und URLDECODE werde ich mir noch ansehen. Auch wenn so billige Angriffsversuche meiner Seits da immer fehlgeschlagen sind. JavaScript wird nun komplett drauf verzichtet. Mit meinem Bruder zusammen haben wir ein etwas geändertes Design abgesprochen. Das sieht dann so aus, dass bereits in der Produktauflistung die Produkte in den Warenkorb geschoben werden können und in der Detailsansicht bereits ein größeres Bild vom Produkt dargestellt wird. Somit spart man sich ein Popup-Fenster und JS zur vergrößerter Darstellung eines Produktes. Ja, z_y_id ist vom Typ Zahl und wird noch geändert. Wusste ich nicht. Ich dachte das MySQL alle Werte in ein ' haben will. Die restlichen Tipps werde ich auch noch umsetzen. Danke für die ganzen Tipps. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Artemis
wo kann ich das nach lesen ? Bzw. wo hast Du sowas gelesen ? Du machst ja auch kein < wenn du ein < schreibst, also bei <A HREF ... @hectic Bei MSSQL ist Textsuche immer in '...' und Zahlen so . Ich warte ja noch drauf das für SQL Abfragen "Objekte" benutzt werden !!! Das DAO in VB6 war da schon ziemlich gut . Das wäre so einfach ... |
||
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein strikter HTML-Parser erwartet nach jedem & eine spezielle Entität, sowohl im Text als auch in Attributen. Deshalb muss Code: [AUSKLAPPEN] <a href="seite.php?argument1=0&argument2=2">Link</a> auch so im HTML-Quelltext vorliegen.
Ein Validator wird dir bei der Notation Code: [AUSKLAPPEN] <a href="seite.php?argument1=0&argument2=2">Link</a> sagen, dass er 1. "Entity argument" nicht kennt und 2. ein ; fehlt, weil die Syntax für Spezialzeichen eigentlich &NAME; ist.
Das < ist jedoch nicht nötig, weil sonst der Parser die Tags nicht erkennt (da muss halt ein < stehen, kein < ) So einfach ist das. Aber ja, die wenigsten Browser reklamieren, wenn in einer URL mal ein einfaches & steht... |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group