Hi ho...
und wieder ich -.-" ^^
Also hab folgendes problem....
Zur erklärung...Code:Fatal error: Call to undefined function ip_check() in \components\com_user\controller.php on line 259
ich möchte durch ein paar zusätzliche funktionen herausbekommen, ob sich jemand mit der derzeitigen IP schon bei mir registriert hat... wenn ja gebe fehlermeldung aus (in form einer weiterleitung zu einem artikel)
wenn nein... go ahead mit next step...
Ich habe die registrierungsrutine von joomla komplett auseinander genommen... vorher hatte ich die ip_check routine in der registrierungsrutine drinne... lief...
Da jetzt aber noch 4 weitere bedingungen erfüllt werden müssen um sich weiter zu registrieren sind natürlich entsprechende funktionen hinzugekommen...
aufruf folgt jetzt nicht mehr über http://web/index.php?option=com_user&task=register sondern über com_user&task=pre_register_step_1
Dort soll erstmal überprüft werden ob die IP schon vorhanden ist oder nicht?
wenn nein rufe com_user&task=pre_register_step_2 auf
dort zeige mir einen artikel inhalt an und füge unten eine checkbox ein und einen butten.. bei klick auf button gehe auf step_3
dort überprüfe ob checkbox aktiv... wenn nein geh zurück auf step_2 und gebe fehlermeldung aus.
wenn ja gehe weiter zu step_4
in step4 muss - der sicherheit wegen - letztmalig die ip überprüft werden. deswegen auch die eigene funktion...
denn wenn jemand so schlau ist und url bis zum registrierungsformular direkt ein gibt, kann er sich dennoch registrieren, obwohl die IP schon vergeben ist....
Hier nochmal der Code:
erstmals aufgerufen wird die funktion über die funktion pre_registerPHP-Code:function ip_check()
{
// Check for existing IP
$gamedbhost = 'localhost';
$gamedbuser = 'geheimer User';
$gamedbpass = 'geheimespasswort';
$gamedbaccs = 'datenbank';
$gamedbcon = @mysql_connect($gamedbhost, $gamedbuser, $gamedbpass);
if (!$gamedbcon)
{
DIE(mysql_error());
}
$gamedba = @mysql_select_db($gamedbaccs, $gamedbcon);
if (!$gamedba)
{
DIE(mysql_error());
}
$multi_ip = 0;
$ip = $_SERVER['REMOTE_ADDR'];
if($multi_ip != 1) {
$gamequery = @mysql_query("SELECT * FROM cataclysm_auth.account WHERE last_ip = '$ip'") or die(mysql_error());
if(mysql_num_rows($gamequery) != 0) {
$this->setredirect('index.php?option=com_content&view=article&id=26',JText::_('YOUR IP ALREADY EXIST.'));
}
}
mysql_close($gamedbcon);
}
gedacht hab mir mir das so:PHP-Code:function pre_register()
{
parent::display();
ip_check();
$this->setredirect('index.php?option=com_user&task=pre_register2', '');
}
die seite preregister wird aufgerufen und fragt erstmal in der funktion ip_check nach ob die ip schon vergeben ist... wenn ja leite mich um auf com_content articleID26 wenn nein leite weiter auf com_user pre_regiser2.
jedoch beim aufruf von ip_check bekomm ich die fehler meldung das ich eine nicht vorhandene funktion versuche aufzurufen.....
Hat jemand eine idee was ich falsch mache???
LG
Sada


LinkBack URL
About LinkBacks
Zitieren
Lesezeichen