Tach.
Über ein Skript wird ein Link erzeugt, der einen Wert als Parameter übergeben soll:
$mylink[] = "Artikel.php?artnr=$artnr";
Wenn ich mit dem Mauszeiger über den fertigen Link fahre, wird die URL auch korrekt angezeigt (z.B. Artikel.php?U012).
Im Skript Artikel.php wird der Parameter eingelesen:
$artnr = $_GET['artnr'];
Trotzdem wird auf der generierten Seite der Parameter nicht übernommen. Die entsprechenden Stellen im HTML-Code sind leer, so als ob kein Parameter vorhanden wäre!
Wenn die Links tatsächlich so aussehen wie "Artikel.php?U012", ist es klar, daß in $_GET["artnr"] nichts steht. Dafür müßtest Du "Artikel.php?artnr=U012" benutzen; so wie in der ersten Codezeile, die Du hier zeigst -- keine Ahnung, ob Dir im Programm vielleicht das "artnr" verlorengegangen ist ...
Mit print_r() oder var_dump() kannst Du Dir bei der Fehlersuche den Inhalt von Variablen anzeigen lassen. Das hilft bei der Fehlersuche in der Regel schon eine Menge.
Wenn es schwingt, ist es ein Filter – Oszillatoren würden so etwas nie tun.