PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQLi/PDO/(MySQL) (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   Bei Formular Abfrage einer Datenbank und Eintragung in einer andere (http://www.selfphp.de/forum/showthread.php?t=23129)

ChiiFii 14.04.2010 19:29:41

Bei Formular Abfrage einer Datenbank und Eintragung in einer andere
 
Huhu =)
Ich bin hier zwar neu, aber aufgrund einer Frage gekommen =)

Ich möchte bei einem Formularfeld folgendes zur Eingabe ermöglichen:

Benutzername und Passwort


Zusätzlich sollen noch 2 weitere Daten übertragen werden. Die eine ist die ID bei meinem benutzen CMS (ilch) und das zweite ist die email vom CMS.

Ich komme an folgender Stelle nicht vorran:

PHP-Code:

    if(isset($_POST['submit']) && $_POST['submit'] == 'Register') { //Eintragung in 2. Datenbank von anderem Server
        
$username mysql_real_escape_string($_POST['username']);
        
$password mysql_real_escape_string($_POST['password']);
        
$rl_name mysql_real_escape_string($_POST['ilch_id']); //ID aus der ersten Datenbank entnehmen
        
$email mysql_real_escape_string($_POST['ilch_email']); //Email aus erster Datenbank entnehmen 

Die 2 Datensätze befinden sich in der 1. Datenbank unter: ic1_user -> id ; ic1_user -> email



Erstmal müsste ich ja noch defnieren, zu welcher 2. Datenbank das geschickt wird:
PHP-Code:

$connect2 mysql_connect("IP_anderer_host""user""pwd"); 

und den Namen der Datenbank:

PHP-Code:

$db_selected mysql_select_db('db_name'); 

Die "Hauptdatenbank" des Scriptes ist fest integriert und dafür muss ich nichts mehr angeben, jedoch möchte ich, dass nur beim 'submit' in die 2. Datenbank geschrieben wird. Wie bewerkstellige ich das?
Und wie kann ich "als Formularfeld" die 2 Datensätze der ersten Datenbank an die 2. Übertragen?

MfG

urvater 14.04.2010 19:52:53

AW: Bei Formular Abfrage einer Datenbank und Eintragung in einer andere
 
Zitat:

Zitat von ChiiFii (Beitrag 136039)
Ich bin hier zwar neu, aber aufgrund einer Frage gekommen =)

Willkommen und tröste dich, die meisten kommen anfänglich weil sie erst einmal eine Frage haben. ;)
Zitat:

Zitat von ChiiFii (Beitrag 136039)
Ich möchte bei einem Formularfeld folgendes zur Eingabe ermöglichen:

Benutzername und Passwort

Dazu musst du ein Formular mit 2 Feldern und den Submitbutton erstellen.
Zitat:

Zitat von ChiiFii (Beitrag 136039)

Zusätzlich sollen noch 2 weitere Daten übertragen werden. Die eine ist die ID bei meinem benutzen CMS (ilch) und das zweite ist die email vom CMS.
Die 2 Datensätze befinden sich in der 1. Datenbank unter: ic1_user -> id ; ic1_user -> email

Wenn diese nicht im CMS als Variablen deklariert sind müsstest du sie dir aus der DB des CMS holen, wenn die Prüfung soweit abgeschlössen ist, daß der INSERT in die andere DB stattfinden kann.
Zitat:

Zitat von ChiiFii (Beitrag 136039)
Ich komme an folgender Stelle nicht vorran:

PHP-Code:

    if(isset($_POST['submit']) && $_POST['submit'] == 'Register') { //Eintragung in 2. Datenbank von anderem Server
        
$username mysql_real_escape_string($_POST['username']);
        
$password mysql_real_escape_string($_POST['password']);
        
$rl_name mysql_real_escape_string($_POST['ilch_id']); //ID aus der ersten Datenbank entnehmen
        
$email mysql_real_escape_string($_POST['ilch_email']); //Email aus erster Datenbank entnehmen 

Erstmal müsste ich ja noch defnieren, zu welcher 2. Datenbank das geschickt wird:
PHP-Code:

$connect2 mysql_connect("IP_anderer_host""user""pwd"); 

und den Namen der Datenbank:

PHP-Code:

$db_selected mysql_select_db('db_name'); 

Die "Hauptdatenbank" des Scriptes ist fest integriert und dafür muss ich nichts mehr angeben, jedoch möchte ich, dass nur beim 'submit' in die 2. Datenbank geschrieben wird. Wie bewerkstellige ich das?
Und wie kann ich "als Formularfeld" die 2 Datensätze der ersten Datenbank an die 2. Übertragen?

MfG

Hast du wirklich eine 2. Datenbank auf einen anderen Server oder sollen die Daten nur in eine andere Tabelle der gleichen DB geschrieben werden?

Bei ja müsstest du innerhalb des IF die Verbindung zur 2. DB herstellen und dann dort den INSERT absetzen. Beachte jedoch, daß du nach dem Herstellen der Verbindung die Verbindungskennung mit angeben musst, da zu diesem Zeitpunkt 2 Verbindungen bestehen.
PHP-Code:

$sql "INSERT .....";
$result mysql_query($sql,$db_selected); 

Wenn sich auf dem Server, auf dem sich die 2. DB befindet auch ein Webverzeichnis befindet könntest du dort auch ein Skript erstellen, welches die Daten für diesen INSERT empfängt und in die DB einträgt.
Das gleiche würde auch per Cronjob funktionieren.

Ckaos 14.04.2010 21:11:23

AW: Bei Formular Abfrage einer Datenbank und Eintragung in einer andere
 
Hi

und wenn sie wie urvater schon meinte auf dem selben server sind und du
auf beide mit den selben logindaten (bloß nicht root!!!! nehmen)
zugriff hast geht auch

Code:

INSERT INTO DB_NAME.DB_TABELLE
                SELECT username,password,ilch_id,ilch_email
                                  FROM
                DB_NAME.DB_TABELLE

mfg

Ckaos


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:52:32 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.