• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Daten nur einmal in Datenbank schreiben

bumradio

Neues Mitglied
Hallo,

ich hab eine PHP Datei
PHP:
<?phpinclude("verbindung.php");
$domain = $_SERVER['HTTP_HOST'];
$sql = "INSERT INTO `domain` (    `domain`)VALUES (   '$domain')";
if (mysql_query($sql)) { echo "Der Datensatz wurde eingetragen.";}?>
die den Domain Namen in die MySQL Datei schreibt. Jedoch wird die Domain jedes Mal beim Aufrufen dieser PHP Datei in die Datenbank geschrieben. Wie kann ich das verhindern?
 
Kommt auf die Umstände der Anwendung an. Beispielsweise könntest du ein Cookie setzten, was natürlich nach absolut zuverlässig ist.
Andere Möglichkeit wäre es, bestimmte Domains nicht einzutragen, zum Beispiel, wenn es nicht die Eigene sein soll, einfach per if.
 
Wie wärs wenn du einfach -falls man dein Produkt registrieren muss- bei der Registrierung den Eintrag machst ?!
 
Ich würde empfehlen die Datenbanktabelle um eine Spalte für die PHP-SessionID zu ergänzen. Diese neue Spalte und die der Domain müssten dann jeweils als Primary Key definiert werden. Dann könntest Du das Statement zu einem REPLACE INTO machen, also:

Code:
REPLACE INTO `domain` ( `sessionid`, `domain`) VALUES ('$sessionid', '$domain');

Das führt dazu, dass die Kombination von SessionId und Domain nur 1 Mal eingetragen wird. Ruft der Nutzer nochmal die Seite auf, wird kein neuer Eintrag vorgenommen.
 
Zurück
Oben