ERLEDIGT
NEIN
NEIN
ANTWORTEN
11
11
ZUGRIFFE
397
397
EMPFEHLEN
-
Hallo zusammen,
ich bin gerade dabei mir ein Forum zu basteln, aber ich stehe gerade vor einem Problem. Ich lasse immer die Daten des Datensatze die den entsprechenden Postname enthält. Also z.B. "index.php?das ist der Postname". Leider wird das Leerzeichen nich einfach ausgelassen sondern wird so im Browser dargestellt:Also dann wird der Code im Browser so:Code :1
%20
In dem Forum von tutorials.de ersetzt da das Leerzeichen immer ein Bindestrich. Wie geht das? Weil das wäre mir eine Größe hilfe, weil mit diesem "%20" geht das nicht in der Datenbank und wenn ich es mit Leerzeichen mach auch nicht. Bitte um HilfeCode :1
index.php?das%20ist%20der%20Postname

Danke schonmal im Vorraus
TF
-
Versuch das mal mit urlencode()
Gibt statt Bindestrich ein Plus bei Leerzeichen.
-
Markus Wulftange
-
Hallo,
also, wenn ich ein Formular habe, dann muss ich ja den Datensatz in zwei Tabellen speichern, also in eine mit und in eine ohne Leerzeichen. Das Problem ist dabei nur, wie
Weil mein bischeriges Eintragformular sieht so aus:
Und wie soll ich das dann machen, weil ich kann in $_POST[Thread] diese Funktion ja nicht einbauen, weil sonst wäre es ja in 2 Tabellenfelder ohne LeerzeichenPHP-Code:$sql="INSERT INTO threads " .
"(Content, user_id, URLAnhang) VALUES ('$_POST[Thread]', " .
"'$_POST[user_id]', '$getAnhang')";

Danke schonmal im Vorraus
TF
-
sorry, Doppelpost. Bitte diesen löschen

Danke!
TF
-
Wieso 2 Tabellen?
Nimm das Beispiel von Gumbo.
Du bekommst eine URL aus dem Formular und wandelst das um:
Das speicherst du in die Datenbank, in _eine_ Spalte. Also:PHP-Code:$str = $_POST['url'];
$urlstring = str_replace(' ', '-', $str);
Und auslesen dann einfach andersrumPHP-Code:$sql = 'INSERT INTO threads (Content, user_id, URLAnhang) VALUES (' .$_POST['thread']. ', ' .$_POST['user_id'].', ' .$urlstr.' )';
* ohne Gewähr das allesPHP-Code:$printurl = str_replace('-', ' ', $url_aus_db);
-
Also ich habe es jetzt mal auf eigene Faust probiert, aber das ging leider in die Hose

Da werden die Leerzeichen immer noch nicht umgesetztPHP-Code:$ThreadLeerzeichen = $_POST[Thread];
$ThreadLeerzeichen = str_replace(" ", "-", $ThreadLeerzeichen);
$sql="INSERT INTO threads " .
"(Content, user_id, URLAnhang, Content_Leerzeichen) VALUES ('$_POST[Thread]', " .
"'$_POST[user_id]', '$getAnhang', '$ThreadLeerzeichen')";
if (mysql_query($sql)) {
echo "<p>Dateneingabe erfolgreich!<script language=\"javascript\">location.href=\"threads.php?$getAnhang\"</script></p>";
} else {
echo "<p>Dateneingabe nicht erfolgreich!</p>";
}

TF
-
Ich nutze auf meiner Seite mod_rewrite Adressen.
Da hab ich mir folgende Methode gebastelt, um Titel "Linktauglich" zu machen:
Sieht dann so aus: http://sim4000.pudelwerfer.de/blog,1...3,view,35.htmlPHP-Code:<?php
function conlink($return) {
$uml = array("ä", "ü", "ö", "ß"); $convert = array("ae", "ue", "oe", "sz");
$return = str_replace($uml, $convert, strtolower($info['ds']['title'][0])); // Umlaute umwandeln und Alle Buchstaben in kleine Umwandeln
$return = preg_replace("/[^a-zA-Z0-9_]/", "-", $return); // Alle Zeichen außer Buchstaben und Zahlen ausfiltern
return $return;
}
?>Geändert von sim4000 (08.02.08 um 14:20 Uhr)
Visit: www.sim4000.de
Ein Ball rollt um die Ecke und fällt um
Intelligenz ist, wenn man weiß, dass man doof ist.
-
Und wie müsste das dann bei mir heißen? Etwa so?:
Würde das so stimmen? (Ich glaube nämlich eher nicht :P )PHP-Code:<?php
function conlink($ThreadLeerzeichen) {
$ThreadLeerzeichen = array("ä", "ü", "ö", "ß"); $convert = array("ae", "ue", "oe", "sz");
$ThreadLeerzeichen = str_replace($uml, $convert, strtolower($info['ds']['title'][0])); // Umlaute umwandeln und Alle Buchstaben in kleine Umwandeln
$ThreadLeerzeichen = preg_replace("/[^a-zA-Z0-9_]/", "-", $return); // Alle Zeichen außer Buchstaben und Zahlen ausfiltern
return $ThreadLeerzeichen;
}
?>
TF
-
Das was du da gemacht hast ist quatsch.

So muss es ausssehen:
Hier eine Demo: http://sim4000.pudelwerfer.de/temp/urlcon.phpPHP-Code:<?php
function conlink($return) {
$uml = array("ä", "ü", "ö", "ß"); $convert = array("ae", "ue", "oe", "sz");
$return = str_replace($uml, $convert, strtolower($return)); // Umlaute umwandeln und Alle Buchstaben in kleine Umwandeln
$return = preg_replace("/[^a-zA-Z0-9_]/", "-", $return); // Alle Zeichen außer Buchstaben und Zahlen ausfiltern
return $return;
}
?>
Wenn du das so machst,
Wird ja die Var die Convertiert werden soll mit Liste der Umlaute überschrieben. Außerdem war in dem str_replace noch eine falsche Variable, die ich in meiner Version hier in diesem Beitrag korrigiert hab.PHP-Code:<?php
function conlink($ThreadLeerzeichen) {
$ThreadLeerzeichen = array("ä", "ü", "ö", "ß"); $convert = array("ae", "ue", "oe", "sz");
$ThreadLeerzeichen = str_replace($uml, $convert, strtolower($info['ds']['title'][0])); // Umlaute umwandeln und Alle Buchstaben in kleine Umwandeln
$ThreadLeerzeichen = preg_replace("/[^a-zA-Z0-9_]/", "-", $return); // Alle Zeichen außer Buchstaben und Zahlen ausfiltern
return $ThreadLeerzeichen;
}
?>
Geändert von sim4000 (08.02.08 um 14:32 Uhr)
Visit: www.sim4000.de
Ein Ball rollt um die Ecke und fällt um
Intelligenz ist, wenn man weiß, dass man doof ist.
-
Das funktioniert leider auch nicht -.-
Aber könnte man vielleicht auch einfach den Text in MD5 machen und den dann in der URL verschlüsselt wiedergeben und so auf der Seite ohne Verschlüsselung? Geht das?
MfG,
TF
Edit: Ich glaube es funktioniert! Habe es jetzt mit "ereg_replace" proboert und es klappt
Geändert von teamfake (08.02.08 um 16:14 Uhr)
-
08.02.08 17:53 #12
du musst mit deinen hochkommas aufpassen, die hochkommas sind nicht korrekt geöffnet bzw. geschlossen. probiers mal so aus:
und die weiterleitung mit js zu machen ist eigentlich nicht die feine englische art. was denn wenn einer js deaktiviert hat? mit "header();" gehts sicherer.PHP-Code:$ThreadLeerzeichen = $_POST[thread];
$ThreadLeerzeichen = str_replace(" ", "-", $ThreadLeerzeichen);
$sql="INSERT INTO threads " .
"(Content, user_id, URLAnhang, Content_Leerzeichen) VALUES ('".$_POST[thread]."', " .
"'".$_POST[user_id]."', '".$getAnhang."', '".$ThreadLeerzeichen."')";
if (mysql_query($sql)) {
echo "<p>Dateneingabe erfolgreich!<script language=\"javascript\">location.href=\"threads.php?$getAnhang\"</script></p>";
} else {
echo "<p>Dateneingabe nicht erfolgreich!</p>";
}
Ähnliche Themen
-
[IE7 Problem] Problem mit ul/li Höhen im IE7 bei Verwendung eines vertikalen Menüs
Von josDesign im Forum CSSAntworten: 0Letzter Beitrag: 11.01.11, 21:40 -
Problem: Flash MX (7.1) exportiert meine Fla nicht mehr - dringendes Problem
Von Lukasz im Forum Flash PlattformAntworten: 4Letzter Beitrag: 22.03.06, 20:50 -
Problem mit hover- background ändern & Problem bei Reload
Von ollioollio im Forum CSSAntworten: 0Letzter Beitrag: 06.10.04, 14:03 -
PROBLEM! Pinnacle 2 GB Begrenzung Windows 2000 DC 50 PROBLEM!
Von hennym im Forum Videoschnitt, Videotechnik & -produktionAntworten: 6Letzter Beitrag: 17.09.03, 22:09 -
Problem mit PopUp (Ja ich weiss Suche benutzten, hab ein ganz anderes Problem)
Von killkrog im Forum Javascript & AjaxAntworten: 6Letzter Beitrag: 13.06.02, 12:29





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren