shorturl-script url-verschlüsseluing, wie realisiere ich die am besten???
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
argument
array
aufnehmen
bestehen
buchstabe
code
codierten parametern
datum
einbinden
funktion
http
jeweiligen paaren
kompliziert beitrag
machen
single
stelle
string
url
vorkommen
zahl
-
Hi leute, ich bin dabei ein shorturl.script zu schreiben, und ich möchte dabei 2 sachen beachten:
1.
ich würde es gerne per \?VAR (also zb. www.seite.de/?z1v) einbinden, aber ich möchte noch normale GET-Übertragung benutzen. Wie könnte ich das nun am elegantesten nutzen?
Oder kann ich den script sagen das alles was hinter nem plus oder so steht für die shorturl ist und nem fragezeichen für alles andere?
Edit: Ich glaub das Problem ist gelöst. ich frage ab ob ein gleichzeichen vorkommt, wenn nein soll der shorturl-teil aufgerufen werden...
2.
Die ID soll aus Zahlen und buchstaben bestehen, und immer der reihenfolge gehen (also 1 2 3..9 0 A B..Z 11 12..)
Vll kann weis jemand von euch wie beides am elegantesten geht. Und ich hoffe ich hab mich klar ausgedrückt, find es selber ein bischen kompliziert^^
Beitrag geändert: 29.11.2007 5:47:51 von mergener -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi, hatte sowas letztens in einem Projekt eingebaut, dann aber wieder entfernt da ich für Javascript keine base64 Codierung hatte. Solange du also keine Javascripaufrufe mit codierten Parametern machen willst, ist die funktion nützlich.
<?php function decodeBase64UrlQueryString() { $string = $_SERVER['QUERY_STRING']; if (strlen($string) == 0) return; $string = base64_decode($string); $pairs = explode('&',$string); // single GET argument if (sizeof($pairs) == 1) { $vars = explode('=',$pairs[0]); // assign the var :) $_GET[$vars[0]] = $vars[1]; } else { // multiple GET arguments $pairsSize = sizeof($pairs); for ($i=0; $i<$pairsSize; $i++) { $vars = explode('=',$pairs[$i]); // assign the var :) $_GET[$vars[0]] = $vars[1]; } } } function encodeBase64UrlQueryString($args) { if (is_array($args)) { $argsSize = sizeof($argsSize); if ($argsSize > 0) { $string = '?'.base64_encode($args[0]); if ($argsSize > 1) { for ($i=1; $i<$argsSize; $i++) { $string .= '&'.base64_encode($args[$i]); } } return $string; } } else { return base64_encode($args); } return null; } ?>
Zur Benutzung übergibst du entweder den vollständigen String oder ein Array mit den jeweiligen Paaren. Den Rest macht die Funktion dann. -
Ich will nicht die URL verschlüsseln sondern einfach hinter einer id verstecken, und diese id soll vortlaufen sein, erst zahlen von 1 bis 9 und dann buchstaben von a bis z und danach soll halt 10 ... 11 ... 12 über 18 .. 19 .. 1A etc folgen
-
Meinst du sowas in der Art:
$url = array(); $url[0] = "http://www.seite.de"; $url[1] = "http://www.seite2.de"; $url[2] = "http://www.seite3.de"; settype($_SERVER['QUERY_STRING'], "integer"); if (!isset($url[$_SERVER['QUERY_STRING']])) die("Ungültige URL"); $html = file_get_contents($url[$_SERVER['QUERY_STRING']]); echo $html;
?
Beitrag geändert: 29.11.2007 13:44:30 von larsw -
Ich versteh nicht ganz genau was das script macht...
aber am ende soll sowas rauskommen wie bei myref.de
aber statt mit nur zahlen halt das auhc buchstaben drinnen vorkommen!
Beitrag geändert: 29.11.2007 14:41:47 von mergener -
MyRef wird den Krams vermutlich in einer Datenbank speichern und vorher für die URL einfach einen Schlüssel generieren. Mehr steckt da nicht hinter.
-
Das die daten in einerdatenbank geshcirbeen werden ist nmir klar, und das hab ich auch so vor, nur die nehmen einfach eine id die durch auto_increment erzreugt wird und für die get_variable dient. eine zweite spalte sagt dann einfach die url.
Nur ich will die id nicht durch auto_increment (wo eine stelle nur 10 'einträge' aufnehmen kann) sondern eine mit dem abc, so das jede stelle 26 'einträge' aufnehmen kann...
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage