| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

08-01-2010, 15:27
|
|
sven321
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Ort: Dortmund / NRW
Beiträge: 21
|
|
LOGIN in bestehende SQL datenbank
Hallo zusammen,
ich habe folgendes Problem:
möchte über ein PHP Script weiteren Zugriff als LOGIN für eine andere Page installieren (gleiche Domain).
Die Tabelle, sprich vorh. Datenbank (auf Strato Server) ist von meinem Termin /Eventplaner (Event-List 3.8.4) und ebenfalls aktiv.
Es ist alles dort vorhanden, was man für ein LOGIN benötigt und ich möchte, das die User von der "anderen" Page in der selben Domain, sich dort ebenfalls registrieren können.
Gut, dann haben diese auch gleichzeitig Zugrif auf den Event Planer, das ist ok, denn dort ist auch gleichzeitig eine User Verwaltung integriert, mit Rechtevergabe.
Hier einmal die Struktur der Tabell des Strato Servers:
koc1_adminsessions
koc1_appointments
koc1_attachments
koc1_blockedips
koc1_blockedmail
koc1_captcha
koc1_categories
koc1_editgroups
koc1_editusers
koc1_groupmember
koc1_groups
koc1_holiday
koc1_options
koc1_permanentsearch
koc1_reminds
koc1_search
koc1_seccategory
koc1_series
koc1_style
koc1_users
koc1_vacation
koc1_wiw
Es würde ein einfaches LOGIN Script reichen, was auf die Struktur der bestehenden Tabelle zugreift, nur finde ich keins und eine zweite Datenbank kann ich NICHT installieren, lässt der Strato Account nicht zu, also, nur eine Datenbank.
Hoffe Ihr könnt mir da weiterhelfen...
danke im Voraus
Greeeetz
Sven
Geändert von sven321 (08-01-2010 um 20:19 Uhr)
|

08-01-2010, 15:33
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Bitte entferne die Verlinkungen oder setz einen korrekten Pfad. Im Moment bekomme ich immer einen 404. Hast du denn auch schon eigene Ansätze oder willst du ein fertiges Script. Im letzteren Fall verschiebe ich es zur Projekthilfe. Wenn du allerdings bereits bist, dafür zu zahlen, so poste es bei den Jobs
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

08-01-2010, 15:36
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Bitte die URLs entlinken und unter [Ändern], [Erweitert] den Haken bei "Links automatisch umwandeln" rausnehmen.
Danke
Edit: zu spät, aber jetzt weißt du dafür gleich, wie es geht.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

08-01-2010, 20:21
|
|
sven321
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Ort: Dortmund / NRW
Beiträge: 21
|
|
Ich habe "Freeware" Scripte, nur wird dort verlangt, eine neue Tabelle anzulegen (phpAdmin bei Strato) und gerade das möchte ich ja nicht, ich habe ja eine Tabelle die so gut wie leer ist, grade mal 4 User drinne (Event Kalender)
xoxo
Sven
|

08-01-2010, 21:51
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
wo ist denn das konkrete Problem? Kannst du PHP? Wenn ja, kannst du doch ganz leicht ein Login Script bauen, das die vorhandene Tabelle benutzt. Wenn du noch am PHP lernen bist, können wir dir Tipps für konkrete (Teil-) Probleme geben.
Im Moment sieht es aber danach aus, als ob du einen Programmierer brauchst, der das für dich fix und fertig einrichtet. Wenn das zutrifft, benutz bitte die Rubrik Jobs.
Wenn nicht, konkretisier bitte die Problembeschreibung. Von einer Tabellen struktur ist in dieser Auflistung nichts zu erkennen.
Ein genereller Tipp: Versuch doch einfach, das Login der anderen (bestehenden Seite) zu kopieren und auf die neue Seite anzupassen. Wenn das nicht geht, warum nicht?
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

09-01-2010, 19:10
|
|
sven321
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Ort: Dortmund / NRW
Beiträge: 21
|
|
Hi Amica :0)
also die Tabelle steht, installiert habe ich diese bei Strato mit myPHPadmin, keine Errors, die Tabelle heißt USER.
Wo ich jetzt noch in der CONFIG.PHP das Problem sehe willich mal eben schreiben, denn bei LOGIN bekomme ich folgendes:
Es ist ein Fehler mit der Datenbank aufgetreten! Es konnte keine Verbindung hergestellt werden.
In der CONFIG.PHP scheint folgendes zu fehlen, die Adresse von Strato:
rdbms.strato.de ◄lautet so
Hier der AUSZUG aus der CONFIG.PHP
Zitat:
##############################################################
# Hauptkonfiguration
define("BASEHREF","http://www.name.de/mem_go.htm"); //URL zu diesem Verzeichnis (ohne /)
define("FROMEMAIL","BOYcraze Support<information@boycraze.de>"); //E-Mail-Adresse des Webmasters
define("MYSQLUSER","U1234567"); //mysql Username
define("MYSQLPASS","willi12x124"); //mysql Passwort
define("MYSQLDB","DB444444"); //mysql Datenbank-Name
###############################################################################
###############################################################################
# Weitere Einstellungen
define("STYLESHEET_HREF", BASEHREF."/style.css"); //Stylesheet-Link
define("TITLE","BOYcraze adult"); //Seitentitel
define("NORIGHTS", "Sie haben nicht die Berechtigung um auf diesen Bereich zuzugreifen!"); //Meldung, wenn keine Berechtigung
//E-Mail bei Passwort-Recovery:
define("MAIL_SUBJECT","Ihre Benutzerdaten"); //Der Betreff der E-Mail
define("MAIL_BODY",
"Hi [name]!"
."\n\r\n\r"
."Hier sind die von Dir angeforderten Benutzerdaten:"
."\n\r"
."E-Mail-Adresse: [email]"
."\n\r"
."Neues Passwort: [pwd]"
."\n\r\n\r"
."Mit freundlichen Grüßen, Dein BOYcraze Support");
###############################################################################
|
wie geasgt, die Tabelle funktioniert, keine Fehler, nur, auf die Datenbak kann nicht zugegriffen werden, weil die Adresse rdbms.strato.de fehlt.
In meinem Event Kalender sieht es so aus:
Zitat:
// mysqli - for MySQL 4.0 and later
$sqlmode="mysql";
// hostname or IP-Address of MySQL-Server
$mysqlhost = "rdbms.strato.de";
// username and password for database server
$mysqluser = "U1234567";
$mysqlpassword = "willi12x124";
// name of database
$mysqldb = "DB444444";
// number of calendar
$n = "1";
// put the data of your forum here if you want to use the forum integration
|
Momentan weiß ich net weiter *grummel*, wäre super, wenn Du mir sagen könntest, wie ich das bewerkstelligen kann und JA, in PHP tue ich mich schwer, obwohl ich in FLASH in Action Script 2.0 ein wenig programmiere, ebenso in HTML und JS, PHP ist ähnlich wie das Action Script basiernd auf "C", nur bei speziellen Sachen muß ich nachschlagen oder die Leutz fragen, die es beherrschen, man kann nicht alles können, wenn ich einem eine Geige schenke, heißt es noch lange net, das er darauf auch spielen kann, er muß es erlernen oder dazu lernen :0), dafür kann ich aber super mit fast allen Grafikprogrammen, 3D und CAD Programmen umgehen, auch ein Designer stößt an seine Grenzen *lol*.
LG and xoxo
Sven
|

09-01-2010, 19:13
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
OffTopic: Das sind hoffentlich nicht deine realen Zugangsdaten ... andernfalls solltest du das Posting mal fix editieren.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

09-01-2010, 19:18
|
|
2Bad4You
Registrierter Benutzer
|
|
Registriert seit: Jun 2007
Beiträge: 101
|
|
Dann füge doch in der config etwas wie:
PHP-Code:
define("MYSQLHOST", "rdbms.strato.de");
hinzu. Dann musst du nur noch in der Datei welche die Verbindung zur Datenbank aufbaut die Verbindung ändern, bzw der funktion den host parameter mitgeben.
|

09-01-2010, 22:24
|
|
sven321
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Ort: Dortmund / NRW
Beiträge: 21
|
|
NO keine REALEN Daten, um Gottes willen, dann wäre ich ja mit nem klammerbeutel gepudert^^
|

09-01-2010, 22:27
|
|
sven321
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Ort: Dortmund / NRW
Beiträge: 21
|
|
Ich probiere das morgen einmal aus, 2Bad4You, danke Dir erst einmal, werde berichten ob es funzte^^
mercieeeeeee 
Sven
|

10-01-2010, 14:10
|
|
sven321
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Ort: Dortmund / NRW
Beiträge: 21
|
|
Hey Community,
booaaaaaaachhhhhh, so langsam bin ich frustriert, obwohl jetzt alles korrekt eingetragen ist, kommt immer wieder die Meldung:
Es ist ein Fehler mit der Datenbank aufgetreten! Es konnte keine Verbindung hergestellt werden.
Die Datenbank funzt, sonst würd ja der Kalender net gehen und wäre auch nicht zu administrieren...
Die neue Tabelle hängt unten an der Datenbank und heißt "USERS", OHNE FEHLER, hab ich mit MyPHPadmin überprüft, also ist sie OK, warum bekomme ich kein connect??? unlogisch... *nachdenk*, weiß im Moment net mehr weiter...
LG.
XoXo
Sven
|

10-01-2010, 14:24
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Diese Fehlermeldung kommt nicht von PHP, daher muss ich dir nahelegen, mal das Error-Reporting anzuschalten und eventuell vorhandene Silence-Operatoren zu entfernen. Wie das alles geht, steht in den Forenregeln.
Zusätzlich suchst du in allen PHP-Dateien nach der Zeichenfolge "connect". Wenn du etwas wie mysql_connect oder mysqli_connect findest, siehst du dir genau an, was für Argumente übergeben werden. Eventuell wird ja dort der Host direkt als String übergeben, so dass du noch so viele Konstanten definieren kannst - die werden ja doch nicht genommen.
Trial and Error bringen einen halt nicht immer weiter. Irgendwann muss man sich auch mal ein paar Grundlagen anlesen. Oder die Forenregeln.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

10-01-2010, 15:05
|
|
2Bad4You
Registrierter Benutzer
|
|
Registriert seit: Jun 2007
Beiträge: 101
|
|
Hast du nur die Konstante in die Config eingefügt oder hast du auch der funktion welche die Verbindung aufbaut diesen Parameter mitgegeben?
Sonst poste mal betreffende Datei welche die Datenbank verbindung aufbaut.
|

10-01-2010, 16:24
|
|
sven321
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Ort: Dortmund / NRW
Beiträge: 21
|
|
Hi 2Bad4u, Amica,
ich poste hier mal die 'config.php', dort steht nun auch die ERROR Medung und ich vermute das der "Feher" in Zeile 121 ist mit localhost, denn auf meinen Rechner Daheim will ich ja net zugreifen...
ALLE USER DATEN sind natürlich wieder FIKTIV :-)
Die login.php poste ich darunter, hoffe Ihr reißt mir nicht die Ohren ab, wegen der Menge an Text^^...
Also config.php:
Zitat:
<?php
##############################################################
##############################################################
## PROFESSIONAL MEMBER v 4.2.0
##
## Copyright (©) 2008 by phpWave Productions
## Web: phpWave.com - Home
## E-Mail:
## Stand: Oktober2008
##
## Professional Member kommt mit absolute keiner Gewähr oder Garantie. Solange die
## Copyright-Vermerke in jeder Datei erhalten bleiben, darf dieses Script ohne Einschränkung
## verwendet und weitergereicht werden. Verwendung zu kommerziellen Zwecken siehe Website.
##
## Tipp: Werfen Sie doch einen Blick auf unser All-in-One Script << Ultimate Member v2 >>!
##
## Viel Erfolg mit PROFESSIONAL MEMBER wünscht das Team von phpWave.com!
##############################################################
##############################################################
# Hauptkonfiguration
define("BASEHREF","http://www.name.de/mem_go.htm"); //URL zu diesem Verzeichnis (ohne /)
define("FROMEMAIL","Crazy Support <immer@crazy.de>"); //E-Mail-Adresse des Webmasters
define("MYSQLUSER","U123456"); //mysql Username
define("MYSQLPASS","willi12x12"); //mysql Passwort
define("MYSQLHOST", "reiner.zufall.de"); //mysqlhost Prvoider-Name
define("MYSQLDB","DB654321"); //mysql Datenbank-Name
###############################################################################
###############################################################################
# Weitere Einstellungen
define("STYLESHEET_HREF", BASEHREF."/style.css"); //Stylesheet-Link
define("TITLE","Crazy"); //Seitentitel
define("NORIGHTS", "Sie haben nicht die Berechtigung um auf diesen Bereich zuzugreifen!"); //Meldung, wenn keine Berechtigung
//E-Mail bei Passwort-Recovery:
define("MAIL_SUBJECT","Ihre Benutzerdaten"); //Der Betreff der E-Mail
define("MAIL_BODY",
"Hi [name]!"
."\n\r\n\r"
."Hier sind die von Dir angeforderten Benutzerdaten:"
."\n\r"
."E-Mail-Adresse: [email]"
."\n\r"
."Neues Passwort: [pwd]"
."\n\r\n\r"
."Mit freundlichen Grüßen, Dein BOYcraze Support Webmaster");
###############################################################################
###############################################################################
# Funktionen
//Sicherheitsfunktionen gegen XSS
if(is_array($_GET) && count($_GET)>1)
{
foreach($_GET as $key=>$get_var)
{
unset($_GET[$key]);
$_GET[$key] = mysql_real_escape_string(str_replace("\\", "", htmlspecialchars(str_replace("\'", "", $get_var), ENT_QUOTES)));
}
}
if(is_array($_POST) && count($_POST)>1)
{
foreach($_POST as $key=>$post_var)
{
unset($_POST[$key]);
$_POST[$key] = htmlspecialchars(str_replace("\'", "", $post_var), ENT_QUOTES);
}
}
//Prüfe, ob Benutzer eingeloggt ist
function logincheck()
{
if(!isset($_SESSION['uid']) || !isset($_SESSION['pwd']) || !isset($_SESSION['allow_login']) || $_SESSION['uid']=="" || $_SESSION['pwd']=="" || $_SESSION['allow_login']!="yes")
{
$logout = true;
}
else
{
$result = mysql_query("select * from users where email='".$_SESSION['email']."'");
$num = mysql_num_rows($result);
if($num!==1)
$logout = true;
if(!$logout)
{
$result = mysql_query("select * from users where uid='".$_SESSION['uid']."' && email='".$_SESSION['email']."' && pwd='".$_SESSION['pwd']."'");
$num = mysql_num_rows($result);
if($num!==1)
$logout = true;
}
}
if($logout)
{
session_destroy();
session_start();
echo "<Script>alert('".NORIGHTS."')</script>";
echo "<Script>window.location='" . BASEHREF . "/login.php'</script>";
exit();
}
}
function db_connect()
{
global $db;
if($db)
return;
//Hier kann der Wert "localhost" geändert werden
if(!@mysql_connect("localhost", MYSQLUSER, MYSQLPASS)){
echo "Es ist ein Fehler mit der Datenbank aufgetreten! Es konnte keine Verbindung hergestellt werden.";
exit();
}
$db = mysql_connect("localhost", MYSQLUSER, MYSQLPASS);
mysql_select_db(MYSQLDB, $db);
if(!$db)
{
echo "Es konnte keine Verbindung mit der Datenbank hergestellt werden!\n";
exit();
}
}
function db_disconnect()
{
global $db;
if($db)
{
mysql_close($db);
$db = NULL;
}
}
if(!defined("BASEHREF") || BASEHREF=="http://******" || BASEHREF=="")
{
echo "Bitte editieren Sie die Konfigurationsdatei config.php. Weitere Informationen finden Sie in der Datei Installation.txt.";
exit();
}
db_connect();
?>
|
...und hier die login.php...
Zitat:
<?php
##############################################################
##############################################################
## PROFESSIONAL MEMBER v 4.2.0
##
## Copyright (©) 2008 by phpWave Productions
## Web: http://www.phpwave.com
## E-Mail: software@phpwave.com
## Stand: Oktober2008
##
## Professional Member kommt mit absolute keiner Gewähr oder Garantie. Solange die
## Copyright-Vermerke in jeder Datei erhalten bleiben, darf dieses Script ohne Einschränkung
## verwendet und weitergereicht werden. Verwendung zu kommerziellen Zwecken siehe Website.
##
## Tipp: Werfen Sie doch einen Blick auf unser All-in-One Script << Ultimate Member v2 >>!
##
## Viel Erfolg mit PROFESSIONAL MEMBER wünscht das Team von phpWave.com!
##############################################################
##############################################################
session_start();
include('config.php');
//Beim Absenden des Formulars
if(isset($_POST['submit']))
{
//Variablen werden aus dem Formular geholt
$email = $_POST['email'];
$pwd = $_POST['pwd'];
//Wenn E-Mail/Passwort nicht deklariert wurden, gehe zur Login-Seite
if($email=="" || $pwd=="")
{
echo "<Script>alert('Bitte geben Sie Ihre Benutzerdaten ein!')</script>";
echo "<Script>history.back();</script>";
exit();
}
//Ansonsten vergleiche sie mit der Datenbank
else
{
$pwd_md5 = md5($pwd);
$result = mysql_query("SELECT * FROM users WHERE (email='$email' || uid='$email') && pwd='$pwd_md5'");
//Bei richtigen Daten gehe zum Useraccount
if($result && mysql_num_rows($result)===1)
{
$users = mysql_fetch_array($result);
//Visits erhöhen
mysql_query("UPDATE users SET visits='".($users['visits']+1)."' WHERE uid='".$users['uid']."'");
$_SESSION['uid'] = $users['uid'];
$_SESSION['email'] = $users['email'];
$_SESSION['pwd'] = $users['pwd'];
$_SESSION['allow_login'] = "yes";
header("Location: ".BASEHREF."/useraccount/index.php");
exit();
}
//Ansonten, zeige Fehlermeldung
else
{
echo "<Script>alert('E-Mail-Adresse oder Passwort ist falsch!')</script>";
echo "<Script>history.back();</script>";
exit();
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title><?php echo TITLE; ?></title>
</head>
<body>
<link href="<?php echo STYLESHEET_HREF; ?>" rel="stylesheet" type="text/css" />
<div class="promem_body">
<div class="promem_header">Login</div>
<form action="#" method="post">
<table class="promem_content">
<tr>
<td width="50%"><div class="promem_text">E-Mail-Adresse:</div></td>
<td width="50%"><input type="text" name="email" /></td>
</tr>
<tr>
<td width="50%"><div class="promem_text">Passwort:</div></td>
<td width="50%"><input type="password" name="pwd" /></td>
</tr>
<tr>
<td colspan="2"><div class="promem_text"><a href="<?php echo BASEHREF; ?>/forgot.php">Passwort vergessen?</a></div></td>
</tr>
<tr>
<td colspan="2"><div class="promem_text"><a href="<?php echo BASEHREF; ?>/signup.php">Jetzt Anmelden!</a></div></td>
</tr>
</table>
<div class="promem_button">
<input type="submit" value=" Login " name="submit" />
</div>
</form>
</div>
</body>
</html>
|
mercieeeeee
xoxo
Sven
Geändert von sven321 (10-01-2010 um 16:29 Uhr)
|

10-01-2010, 16:50
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
Was glaubst du eigentlich, was mysql_connect('localhost', ...) macht?
Tip: Es verbindet nicht zu rdbms.strato.de. Warum wohl?
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|