Herzlich willkommen im Archiv vom ABAKUS Online Marketing Forum
Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.
PHP: zugriff auf variable die mit @ beginnt?
ist das ein PopUp und wie kann man sowas programmieren?
Was bedeutet das? Hast du Dateien, die auf .php enden, aber über eine .html-URL aufgerufen werden sollen? Hattest du .php-Dateien und hast sie durch .html-Dateien ersetzt?Michael1967 hat geschrieben:Ich möchte meine URLs mit Mod Rewrite umschreiben. Und zwar von .php in .html.
Da hast du wohl das falsche Muster verwendet. Aber solange du die betreffende RewriteRule-Zeile nicht verrätst, wird dir niemand deinen Fehler nennen können.Url ist beispielsweise -
https://www.*******.de/page-24-titel.html
Diese lässt sich aber auch so aufrufen -
https://www.*******.de/page-24-titeltitel.html
Was läuft da falsch und wie lässt sich das unterbinden?
Code: Alles auswählen
RewriteRule ^page-([0-9]+)-([[:punct:]/:\-\'(){}.&=_a-zA-Z0-9äöü\ ]*).html seite.php?id=$1&ttitle=$2 [L]
Ach, so meinst du das. Das kannst du nicht mit mod_rewrite lösen, weil mod_rewrite nicht wissen kann, welche URLs existieren - es sei denn, du trägst jede URL einzeln in die .htaccess ein.Michael1967 hat geschrieben:Den Titel in der URL erzeuge ich direkt im Script und hänge diese an die URL (auch im Script).
Code: Alles auswählen
if ($_GET["ttitle"] == "$title1") {
echo"mach nichts";
} else {
header("Location: page-$id-$titel.html ");
}
Ja, du:Michael1967 hat geschrieben:Hat vielleicht jemand ein Beispiel für mich?
Wenn du das jetzt noch ein wenig sauberer schreibst und daran denkst, dass zu Location explizit ein Status gehören sollte und die Ziel-Adresse eine absolute URL sein muss, hast du, was du suchst:Code: Alles auswählen
if ($_GET["ttitle"] == "$title1") { echo"mach nichts"; } else { header("Location: page-$id-$titel.html "); }
Code: Alles auswählen
if ($_GET["ttitle"] != $richtigertitel) {
header("HTTP/1.0 301");
header("Location: http://example.com/page-" . $id . "-" . $richtigertitel . ".html");
}
Ich sehe in deinen URLs momentan nur einen Bereich, der über die Seitennummer id gekennzeichnet ist. Mal ehrlich: Würdest du ohne Hintergrundwissen erkennen, dass „page-24-titel.html“ in Haupt- und Unterbereiche aufgeteilt wird?Michael1967 hat geschrieben:Sorry, aber das klappt so nicht. Ich habe Haupt- und Unterbereiche und er sperrt mir dann die Hauptbereiche.
Mal vorausgesetzt, du erkennst die aufgerufene Seite über den Parameter id, dann liest du den zugehörigen Titel aus der Datenbank aus und vergleichst ihn mit dem Parameter ttitle. Der zweite Teil, der Vergleich, ist im obigen Code schon realisiert, es fehlt nur noch das Auslesen aus der Datenbank und die Zuweisung an $richtigertitel. Wie das Auslesen nun geht, steht in der PHP-Anleitung sowie jener deiner Datenbank - zur letzterer Kategorie gibt es ein halbes Dutzend Produkte, und dazu kommt noch die Frage, wie deine Datenbanktabellen aufgebaut sind.Wie lässt sich Prüfen, ob der Titel aus der Url in der Datenbank vohanden ist?
Was meinst du mit „blockieren“? Du kannst statt der 301-Weiterleitung auch 404 ausgeben (und natürlich entsprechend auf Location verzichten), dann gibt es zu der URL keine Seite.Wenn da zum Beispiel jemand den Titel aus der Url ändert, soll der Aufruf der falschen URL blockiert werden. Geht sowas überhaupt?
Code: Alles auswählen
$abfrage = "SELECT titel FROM tabelle where cat=".$_GET["cat"]."";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo $row->titel;
}
Code: Alles auswählen
if ($_GET["ttitle"] != $row->titel) {
echo "wenn Titel nicht gleich mach was , sonst weiter";
}