Punkte aus IP-Adresse löschen

Hallo,
ich möchte über PHP beim Aufruf der Datei eine neue MySQL-Tabelle mit dem Namen "order_" gefolgt von der IP-Adresse des Users speichern. Die Punkte der IP erlauben allerdings einen solchen Tabellennamen nicht.

Wie kann ich die Punkte (.) aus der IP-Adresse herausfiltern?

Aus dem Namen "order_000.000.000.000" soll also "order_000000000000" werden.

Danke im Voraus
 
Ich nehme an, dass du die IP als String bekommst, und dann gibt es eine ganz einfache Möglichkeit:
PHP:
$table_name = "order_".str_replace(".", "", $IP);
 
Probier's mal damit:
PHP:
$newIP = str_replace(".", "", $IP);

Bedenke aber, dass eine IP nicht immer dieselbe Form hat.

Es gibt sie in allen Variationen. (xx.xxx.xxx.xx oder xxx.xxx.xx.x)
Eine Trennung zurück in die Ursprungsform ist daher nicht möglich.

Ersetze die Punkte einfach durch Unterstriche:

PHP:
$newIP = str_replace(".", "_", $IP);
 
Ich weiß zwar nicht genau was du vor hast, aber Anhand deines Namens und der Benennung der Tabelle schließe ich mal auf einen Warenkorb für einen Shop. Was ist denn nun z.B. mit Usern, die über einen Proxy online sind und ihre IP dauernd wechseln?
 
Ich halte es auch nicht für besonders sinnvoll, für jeden Benutzer eine eigene Tabelle anzulegen.
 
@ mAu: Ich plane in der Tat einen Warenkorb. Es wird beim ersten Seitenaufruf diese Tabelle erzeugt und die IP-Adresse gleichzeitig als Bestellnummer verwendet. Da sollte es doch eigentlich keine Schwierigkeiten geben, selbst wenn sich die IP wegen Proxy-Zugangs ändern sollte, oder? Der Kunde bleibt im Prinzip auf der selben Seite
(index.php?site=...).

@Gumbo: Der Kunde kann ja nicht direkt auf die Datenbank zugreifen. Sie wird ja nur verwendet, bis die Bestellung gesendet wird und ausschließlich genutzt, um die Artikel abzuspeichern.

Um es gleich vorweg zu nehmen: ich habe auch die Alternative mit Sessions versucht, bin aber bisher nicht damit vertraut und habe das Problem, dass die Sessionübergabe weder per HIDDEN-Formularfeld noch über den GET-Parameter funktioniert. Cookies möchte ich nicht, da es leider zu viele "schwarze Schafe" im Netz gibt, welche solche immer wieder missbrauchen.
 
Ich würde keine neue Tabelle für jeden Kunden anlegen. Es ist besser, wenn du eine Tabelle für ALLE Kunden anlegst und eine für alle Produkte.

Dann kannst du die beiden Tabellen mit einer Beziehungstabelle verknüpfen:

Kunde(ID, IPadresse, Name, usw)
Artikel(ID, ArtikelNr, Beschreibung, usw...)
kauft(ID, KundenID, ArtikelID)

Somit vermeidest du eine Überflutung deiner Datenbank mit Tabellen. und hast eine komfortablere Lösung.
 
Genauso wuerde ich das auch loesen. Am besten mit Sessions arbeiten und die SessionID in der Datenbank ablegen. So kannst du die User eindeutig identifizieren.
 
Zurück