Hallo zusammen.
Ich verwende bei mir auf em Server Confixx um alles zu administrieren. Beim Confixx Webmail muss man zum einloggen sein Postfachnamen und das Passwort eingeben um einzuloggen.
Da aber nicht jeder seinen Postfachnamen im Kopf hat sondern wohl eher die dazugehörige Emailadresse habe ich ein Script geschrieben welches anhand der Emailadresse den dazugehörigen Postfachnamen aus einer DB ausliesst. Funktioniert alles so weit. Nun möchte ich die Variablen Passwort und den Kontonamen an das Login Script von Confixx übergeben.
Wie stell ich das an? An dem Loginscript von Confixx möchte ich nichts ändern. Per Header Location hab ichs probiert aber da werden die Variablen gelöscht.
Habe an ein verstecktes Formular gedacht das per Js automatisch submitted. Das ist aber auch nicht gut weil sonst ja jeder im Code die Variablen auslesen kann.
Hat vielleicht jemand eine gute Idee?
Ach ja hier mal noch etwas Code:
PHP-Code:
<?php
session_start(); //Session wird gestartet
session_unregister('email_db'); //sessionvariablen werden gelöscht.
session_unregister('kontoname_db'); //sessionvariablen werden gelöscht.
session_unregister('passwort'); //sessionvariablen werden gelöscht.
$field_ok=true; //$field_ok ist zu beginn true.
$login_ok=false; // $login_ok ist zu beginn false.
$error_mail=''; //$error ist zu beginn leer. Wenn $field_ok=false wird $error gefüllt.
$error_pw=''; //$error ist zu beginn leer. Wenn $field_ok=false wird $error gefüllt.
if ($HTTP_POST_VARS) { //Wenn formular gesendet wird abgefragt.
if (strlen($email)==0) { //ist feld email leer.
$field_ok=false; //$field_ok wird false.
$error_mail= "Bitte geben Sie eine Email Adresse ein!"; //$error wird gefüllt.
}
else { //wenn $email nicht leer wird zusätzlich emailadresse geprüfft.
if (!eregi("^"."[a-z0-9]+([_\\.-][a-z0-9]+)*"."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$", $email)) {
$field_ok=false; //ist keine gültige email eingetragen wird $field_ok=false.
$error_mail= "Bitte geben Sie eine gültige Email Adresse ein!"; //$error wird gefüllt.
}
}
if (strlen($passwort)==0) { //ist feld passwort leer.
$field_ok=false; //$field_ok wird false.
$error_pw= "Bitte geben Sie eine Passwort ein!"; //$error wird gefüllt.
}
if ($field_ok) { //ist alles ok so ist auch $field_ok=true, und die datenbankverbindung wird hergestellt.
include('var.inc.php'); //datenbankvariablen werden includiert.
$conn = @mysql_connect($dbserver,$dbuser,$dbpass); //datenbankverbindung herstellen.
if (!$conn) { //conn wird geprüft.
$login_ok=false; //wenn connt nicht vorhanden $login_ok=false.
$error_pw= "Die Datenbankverbindung ist leider fehlgeschlagen!"; //$error wird gefüllt.
}
else {
$login_ok=true; //wenn alles io wird $login_ok auf true gesetzt.
mysql_select_db($dbname,$conn); //datenbank auswählen.
$query = "SELECT email,kontoname FROM webmail WHERE email = '".$email."'"; //zeile selektieren über email.
$result = mysql_query($query); //die abfrage wird in $result gespeichert.
if($login_ok) { //wenn $login_ok=true, wird zeile geholt,ausgelesen und session gestartet.
$zeileholen = mysql_fetch_array($result); //array wird mit $result gefüllt.
mysql_close($conn); //datenbankverbindung wird geschlossen.
$email_db = $zeileholen['email']; //variable email wird aus dem array geholt und stehen zur verfügung.
$kontoname_db = $zeileholen['kontoname'];//variable kontoname wird aus dem array geholt und stehen zur verfügung.
if ($email==$email_db) { //eingegebene und aus datenbank bezogene email wird verglichen.
session_register('email_db'); //sessionvariablen werden registriert.
session_register('kontoname_db'); //sessionvariablen werden registriert.
session_register('passwort'); //sessionvariablen werden registriert.
header ("Location:[url]http://meine-domain.ch/cgi-bin/webmail/login.cgi[/url]"); //weiterleitung erfolgt.
}
else {
$error_pw= "Ungültige Email Adresse!!!"; //$error wird gefüllt.
}
}
}
}
}
?>
Gruss: Spin