|
You last visited: Today at 03:44
Advertisement
[RELEASE|HOWTO] Funktionierende Registrations-Page [DOWNLOAD]
Discussion on [RELEASE|HOWTO] Funktionierende Registrations-Page [DOWNLOAD] within the Metin2 PServer Designs, Websites & Scripts forum part of the Metin2 Private Server category.
03/13/2015, 01:40
|
#1
|
elite*gold: 0
Join Date: Jul 2013
Posts: 334
Received Thanks: 130
|
[RELEASE|HOWTO] Funktionierende Registrations-Page [DOWNLOAD]
closed
|
|
|
03/13/2015, 02:18
|
#2
|
elite*gold: 0
Join Date: Jun 2011
Posts: 21
Received Thanks: 6
|
Hi du
1. es geht schon, aber bei fehlenden tabellen macht es alles nur noch schlimmer. 2. für soviel code kannst du auch table_list nehmen.
3. Sonst ist gut^^ also bis morgen #Niewiederumdieuhrzeit
|
|
|
03/13/2015, 07:13
|
#3
|
elite*gold: 47
Join Date: Feb 2012
Posts: 2,282
Received Thanks: 2,579
|
Man könnte auch einfach die Standard-Werte anpassen
Dennoch danke für das Release, ist bestimmt für einige hilfreich
MfG
|
|
|
03/13/2015, 10:31
|
#4
|
wild wild son
elite*gold: 0
Join Date: Feb 2011
Posts: 5,828
Received Thanks: 3,369
|
An dieser Stelle kann direkt der neue Bereich eingeweiht werden.
(moverequested => )
Ich bin noch immer der Meinung, dass sich das Ganze hiermit am simpelsten lösen lässt;
PHP Code:
else { echo'<p class="meldung">Registrierung fehlgeschlagen: Der Account existiert bereits.</p>'; echo mysql_error(); }
Fehlende Spalten oder Defaultwerte werden damit bspw. bei der Fehlerausgabe angegeben, so viel Tohuwabohu ist also gar nicht zwingend notwendig.
lg
|
|
|
03/13/2015, 10:38
|
#5
|
elite*gold: 0
Join Date: Oct 2011
Posts: 164
Received Thanks: 34
|
Quote:
Originally Posted by methosiea
Hallo liebe Community,
Da ich in letzter Zeit des öfteren gefragt wurde wegen dem Registrations-Fehler: Account existierts bereits, habe ich hier nun für Einige eine Lösung (klappt nicht bei allen). Bei mir ging der Fehler damit weg. (Das übrigens 1. Release, das ich auch getestet habe ^^)
Wie dem auch sei könnt ihr euch die Registration unten im Anhang downloaden.
Für die Anderen, dies interessiert werde ich das hier nochmal dokumentieren.
Also mir wurde mitgeteilt, das der Fehler darin liegt das er die DEFAULT-Werte nicht übernimmt, sprich sie sind nicht definiert.
Ich habe das nun so gemacht.
1. Habe ich die PASSWORD()-Funktion in PHP nachgeschrieben und sie in die function.php versetzt (beim Downloadbaren wurde es in register.php versetzt)
Das sah dann so aus:
PHP Code:
function PASSWORD($x) { return '*'.strtoupper(sha1(sha1($x, true))); }
Danach habe ich mich mit der register.php beschäftigt.
Habe alle Reihen definiert, die vom User aufgerufen werden.
PHP Code:
$USER_columns = array( 'login' => $_POST['account'], 'password' => PASSWORD($userpass), 'real_name' => mysql_real_escape_string($_POST['uname']), 'email' => mysql_real_escape_string($_POST['email']), 'social_id' => $lcode, 'question1' => $sfNum, 'answer1' => $hashSF, 'create_time' => $sqlZeit, 'status' => $accountStatus, 'coins' => $regCoins, 'autoloot_expire' => $expireDate, 'safebox_expire' => $expireDate, 'web_aktiviert' => $aktivHash );
Danach habe ich alle fehlenden Tabellen aufgerufen.
PHP Code:
$SQL_query = mysql_query('SELECT COLUMN_NAME, COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = \'account\' AND table_schema = \'account\' AND column_name NOT IN (\''.implode('\', \'', array_keys($USER_columns)).'\')', $sqlServ);
(SideFact: Für alle, die immer behaupten, ich sage ich wüsse alles, ich wusste nicht mehr wie ich die mysql_* funktionen definiere und dachte ich könn's ebenefalls objektorientiert machen und suchte 30 Minuten nach dem Fehler.)
Danach Prüfe ich das ganze noch:
PHP Code:
if ($SQL_query) /*Code*/ ; else exit('Ein Fehler beim ausführen eines Befehls ist aufgetreten.');
Und danach füge ich die Reihen zusammen.
PHP Code:
if ($SQL_query) while ($SQL_columns = mysql_fetch_array($SQL_query, MYSQL_ASSOC)) $USER_columns[$SQL_columns['COLUMN_NAME']] = $SQL_columns['COLUMN_DEFAULT']; else exit('Ein Fehler beim ausführen eines Befehls ist aufgetreten.');
Man kann das ganze auch Mittels array_merge machen.
Und dann kommt der CMD der vom HEN definiert wurde (etwas abgeändert)
PHP Code:
$sqlCmd = 'INSERT INTO account.account ('.implode(',', array_keys($USER_columns)).') VALUES (\''.implode('\',\'', array_values($USER_columns)).'\')';
Somit sollte bei einigen nun der Fehler behoben sein. Schöner wär's (find' ich), wenn man es statisch löst.
Wenn's ein Fehler gibt einfach melden, aber mit Verzeihung, denn es ist 1:30 und hab' den Schluss noch schnell hingewurstelt
PS: Falls ihr andere Datenbanken in Benutzung habt, ist es wichtig das ihr diese verwendet auch bei Erweiterungen muss es umgeschrieben werden.
Virustotal:
Grüsse alle
|
vielen dank für das Release.
bei mir hast du ja auch nachgeschaut und ich hab den Fehler ebenfalls gefunden.
es lag bei mir daran das auf neue files gewechselt bin aber die alten Logs und Usage caches und temp dateien auf dem webhost ftp hatte.
als ich diese gelöscht habe, hab ich die normale register.php nochmal ausprobiert und es ging wunderbar ^^
|
|
|
03/13/2015, 12:13
|
#6
|
elite*gold: 0
Join Date: Sep 2013
Posts: 491
Received Thanks: 675
|
Es liegt eigentlich immer an eins von beiden:
- Es fehlen Spalten in der "account" Tabelle
- Die Spalten die eingetragen werden haben keine Standardwerte
|
|
|
03/13/2015, 16:30
|
#7
|
elite*gold: 0
Join Date: Jul 2013
Posts: 334
Received Thanks: 130
|
Quote:
Originally Posted by .Yiv.
Man könnte auch einfach die Standard-Werte anpassen
Dennoch danke für das Release, ist bestimmt für einige hilfreich
MfG
|
Das ist klar. Aber dabei scheiterts schon bei den meisten. Ich dachte zuerst auch wieso mache ich nicht einfach nur ein Query und release das, aber das hätten bereits einige nicht verstanden wies geht. Zudem Release ich ungerne was einfach so, wenn ich's noch kurz erkläre, kann ich wenigstens meine Lehrer fertigkeiten etwas verbessern
Quote:
Originally Posted by BizepsSupportAccount
facepalm, einfach in PHP eine Abfrage einfügen, schauen welche Spalte, in welcher Tabelle fehlt und sie einfügen.
|
Oben wurd's grade beantwortet. Das ich das ganze etwas beschrieben habe, ist eigentlich nur für mich persönlich.
Quote:
Originally Posted by .JayZoN
An dieser Stelle kann direkt der neue Bereich eingeweiht werden.
(moverequested => )
Ich bin noch immer der Meinung, dass sich das Ganze hiermit am simpelsten lösen lässt;
PHP Code:
else { echo'<p class="meldung">Registrierung fehlgeschlagen: Der Account existiert bereits.</p>'; echo mysql_error(); }
Fehlende Spalten oder Defaultwerte werden damit bspw. bei der Fehlerausgabe angegeben, so viel Tohuwabohu ist also gar nicht zwingend notwendig.
lg
|
Für Leute die etwas Ahnung haben, ja. Man könnte damit dann auch einen Thread eröffnen. Besser ist jedoch, man schaue sich die Error-Liste auf dem Server an. Dazu müsste man sich den Pfad ausgebenlassen.
2. Ehm nein, dies ist nicht der Richtige Zeitpunkt^^. 99% aller Releases haben hier nichts verloren. Und ich habe extra ein HowTo dazwischen gequetscht. Es ist ja auch ein HowTo. Also wieso ich ^^.
PHP Code:
echo '<pre>'; print_r(error_get_last()); echo '</pre>';
Quote:
Originally Posted by [SA]Hylight
vielen dank für das Release.
bei mir hast du ja auch nachgeschaut und ich hab den Fehler ebenfalls gefunden.
es lag bei mir daran das auf neue files gewechselt bin aber die alten Logs und Usage caches und temp dateien auf dem webhost ftp hatte.
als ich diese gelöscht habe, hab ich die normale register.php nochmal ausprobiert und es ging wunderbar ^^
|
Es gibt auch MySQLs die mit test_* und so. Manche etwas komisch.
Quote:
Originally Posted by .Kibito
Es liegt eigentlich immer an eins von beiden:
- Es fehlen Spalten in der "account" Tabelle
- Die Spalten die eingetragen werden haben keine Standardwerte
|
Ja, so ist es. Ich möchte dir, auch wenn's jetzt grad' nicht pass, einen Dank aussprechen.
Quote:
Originally Posted by spakasseosna
Hi du
1. es geht schon, aber bei fehlenden tabellen macht es alles nur noch schlimmer. 2. für soviel code kannst du auch table_list nehmen.
3. Sonst ist gut^^ also bis morgen #Niewiederumdieuhrzeit
|
Schön, dass du mir in den Rücken fällst, nein Spass, aber ich habe dir das nun ein wenig beigebracht und nun so.
1. Es ist auch nicht für fehlende Tabellen gedacht.
2. table_list ist eine Funktion, die PHP zukünftig eigentlich nicht mehr unterstützen möchte.
3. Also, war heute mal lustig, oder Ich sollte Lehrer werden ^^
|
|
|
03/13/2015, 21:25
|
#8
|
elite*gold: 0
Join Date: May 2013
Posts: 593
Received Thanks: 467
|
Tut mir Leid, aber hiermit hast du entgültig bewiesen, dass du fast keine Ahnung hast.
Du äußerst dich so oft hier von wegen, dass du gar keine große Ahnung von den Datenbanken von Metin2 etc. hast aber versuchst dann irgendwie ein bisschen Aufmerksamkeit mit halbfertigen Sachen zu ergattern. Finde das echt unglaublich.
Außerdem laden sich die Meisten direkt ein ganzes CMS wo relativ gute Scripts dabei sind (HenCMS z.B.). Dazu kommt, dass deine Codes, die ich bisher hier gesehen haben, wirklich unter aller Sau sind. Vorallem jetzt diese Modifikation vom HenCMS.
Lern' ein wenig und komm in 2-3 Jahren wieder. Damit würdest du wirklich jedem ein Gefallen tun. Möchte dich da nicht persönlich angreifen aber so langsam..
Grüße
|
|
|
03/13/2015, 21:51
|
#9
|
elite*gold: 0
Join Date: Jul 2013
Posts: 334
Received Thanks: 130
|
Quote:
Originally Posted by #dynastie
Tut mir Leid, aber hiermit hast du entgültig bewiesen, dass du fast keine Ahnung hast.
Du äußerst dich so oft hier von wegen, dass du gar keine große Ahnung von den Datenbanken von Metin2 etc. hast aber versuchst dann irgendwie ein bisschen Aufmerksamkeit mit halbfertigen Sachen zu ergattern. Finde das echt unglaublich.
Außerdem laden sich die Meisten direkt ein ganzes CMS wo relativ gute Scripts dabei sind (HenCMS z.B.). Dazu kommt, dass deine Codes, die ich bisher hier gesehen haben, wirklich unter aller Sau sind. Vorallem jetzt diese Modifikation vom HenCMS.
Lern' ein wenig und komm in 2-3 Jahren wieder. Damit würdest du wirklich jedem ein Gefallen tun. Möchte dich da nicht persönlich angreifen aber so langsam..
Grüße
|
Hallo, das viele dieses HEN benutzen ist eine klare Sache. Sonst gäbe es nicht jeden Tag, diese Frage über ein' Problem dazu. ich habe 2 Mal gesagt, dass ich keine Ahnung von der Metin2 Datenbank habe. Sonst wär's schon wenig komisch.
Das ich Halbfertige-Sachen released habe ist auch Fakt, aber das gehört sicherlich nicht dazu.
Das ist sicherlich nicht unter aller Sau. Diesen Teil, hätte man schöner lösen können:
PHP Code:
while ($SQL_columns = mysql_fetch_array($SQL_query, MYSQL_ASSOC)) $USER_columns[$SQL_columns['COLUMN_NAME']] = $SQL_columns['COLUMN_DEFAULT'];
Aber das habe ich sogar angesprochen. Erklär mir mal bitte etwas genauer wo du's unter aller Sau findest und sage dir weshalb es so ist, aber so nicht. Könnte mir vorstellen das du vllt. das neue definieren meinst. Jedoch muss man das machen, damit es wirklich mit jeder PHP-Konfiguration funktioniert. Zu jedem der Query, denke mal die hätte man nicht besser lösen können.
...verwende man SHOW ist dies keine kompatible Lösung
Zuerst, solltest du überlegen, dass's einwandfrei läuft, habe dazu schlecht Zeit komplett selbst Erstelltes zu releasen, weil ich dazu keine Zeit habe.
Grüsse dich
|
|
|
03/15/2015, 12:52
|
#10
|
elite*gold: 1
Join Date: Aug 2008
Posts: 7,744
Received Thanks: 3,606
|
Metin2 PServer Guides & Strategies -> Metin2 PServer Designs, Websites & Scripts
#moved
|
|
|
|
Similar Threads
|
Registrations Page
01/21/2014 - Metin2 Private Server - 2 Replies
Hey,
ich suche eine ordentliche Regi Page für meinen Server.
Hab schon YT und hier gesucht aber entweder Links down oder sie war schlicht und einfach kacke!
- Einfach die Regi Page mir Privat senden oder hier verlinken in dem Theard, gebe auch ein Thanks :)
|
Flyff Registrations page problem
08/28/2011 - Flyff Private Server - 7 Replies
Hallo,
Ich habe gerade anhand dieses videos
Flyff Registerpage machen - YouTube
versucht eine registrieguns page zu erstellen.
Mein problem ist, das wenn ich die "web.createacc.sql" datei rein machen und auf ausführen klicke, diese fehlermeldung kommt:
Meldung 208, Ebene 16, Status 6, Prozedur webCreateAcc, Zeile 22
Ungültiger Objektname 'dbo.webCreateAcc'.
Kann mir jemand dabei bitte helfen?
|
FlyFF PServer Registrations-Page
10/02/2010 - Flyff Private Server - 3 Replies
Hi, ich glaube ich bin hier falsch, aber egal :D
Also, zu meiner Frage. Ich habe einen eigenen FlyFF PServer. Aber es sollen ja auch andere Leute drauf spielen können. Jezzz hab ich die Frage: Wie macht man am besten eine Registrations-Page für meinen PServer. Er läuft über Hamachi. Ich hab auch schon ein bisschen gegoogelt, hab aba nix gefunden =(
LG
P.S.: Threas war sinnlos ;) Habs schon geschafft <.< Kann bitte geclosed werden :)
|
Registrations Page
10/10/2009 - Metin2 Private Server - 0 Replies
Hi,
ich habe leider vergessen mir den Link zum VTut der Accountpage erstellung zu speichern.
Wenn mir jemand den Link zum VTut schickt bekommt er ein Danke!
MfG Kevin
|
All times are GMT +2. The time now is 03:44.
|
|