Zeig mal bitte deine Datenbank her. Dann fehlt dort etwas. Bei mir geht die Registrierung komplett durch
Beiträge von BreadScript
-
-
Es ist geschafft viel Spaß
Die Datenbankabfrage musste erst in den OnPlayerConnect und dann funktionierte es auf anhib (getestet).
Somit kannst du nun los legen. Meld dich wenn es nochmals zu schwierigkeiten kommen sollte.Hinzu als Tipp, verwende kein MD5 mehr. Dieser Hashwert ist veraltet und leicht entschlüsselbar.
-
Welche MySQL Version verwendest du dafür ? Ich würde das sonst eben für dich schreiben und austesten
-
Du fragst ab ob der Spieler nicht Eingeloggt ist setzt aber nirgendwo den Wert. Dann fangen wir mal an
public OnPlayerConnect(playerid)
{
//Funktionen (Login / Registrierung)
PlayerInfo[playerid][pLogin]==false;
Check_Player(playerid);
return 1;
}Hier wird der Spieler auf nicht Eingeloggt gesetzt.
public OnPlayerRequestClass(playerid, classid)
{
printf("1");
//Funktionen (Login / Registrierung)
if(PlayerInfo[playerid][pLogin]==false)
{
printf("2");
new query[128];
mysql_format(MySQLConnection, query, sizeof(query), "SELECT ID FROM server_accounts WHERE Name = '%e'", PlayerInfo[playerid][pName]);
mysql_function_query(MySQLConnection, query, true, "Check_Player_Step_2", "d", playerid);
printf("%s", query);
}
/*
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
*/
return 1;
}Hier wird schlussendlich abgefragt ob der Spieler eingeloggt ist oder eben nicht. Beim Connecten wird er immer auf nicht Eingeloggt gesetzt somit schlägt die Anfrage dann nicht fehl.
public Login_Player(playerid)
{
new rows;
cache_get_row_count(rows);
if(rows == 0)
{
//Funktion (Falsches Passwort)
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Login (Text folgt) - Falsches Passwort", "Login", "Abbrechen");
}
else
{
//Funktion (Spieler laden)
PlayerInfo[playerid][pID] = cache_get_field_content_int(0, "ID");
PlayerInfo[playerid][pLevel] = cache_get_field_content_int(0, "Level");
PlayerInfo[playerid][pMoney] = cache_get_field_content_int(0, "Bargeld");
PlayerInfo[playerid][pAdmin] = cache_get_field_content_int(0, "Adminlevel");
PlayerInfo[playerid][pFraktion] = cache_get_field_content_int(0, "Fraktion");
PlayerInfo[playerid][pRank] = cache_get_field_content_int(0, "Rank");PlayerInfo[playerid][pLogin] = true;
PlayerPlaySound(playerid, 1057 , 0.0, 0.0, 0.0);
GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
SpawnPlayer(playerid);
PlayerInfo[playerid][pLogin]==true;
}
return 1;
}Sobald der Login erfolgreich war musst du den Wert pLogin natürlich auch auf true setzen.
Ich hoffe ich konnte dir damit helfen.
Liebe Grüße BreadScript / Legal.Highs
-
Was wird dir denn angezeigt? Zeig uns Aich mal bitte das Shop ENUM.
Es wird leider garnichts angezeigt außer den Standardtext mit Besitzer und Shopid.
Das Shopenum
enum ShopEnum{
Float:s_x,
Float:s_y,
Float:s_z,
Float:is_x,
Float:is_y,
Float:is_z,
h_interior,
s_besitzer[MAX_PLAYER_NAME],
s_id,
s_preis,
s_pickup,
Text3D:s_text,
s_kasse,
pZollpass_preis
}
ocmd:shops(playerid)
{
if(PlayerInfo[playerid][pLoggedIn]==false)return 1;
new string[8000];
for(new i=0; i<sizeof(Shops); i++)
{
if(!Shops[i][s_id])continue;
format(string,sizeof(string),"Inhaber: %s \t\tShopid \n",Shops[i][s_besitzer],Shops[i][s_id]);
printf(string);
}
ShowPlayerDialog(playerid,DIALOG_SHOPS_AUSWAHL,DIALOG_STYLE_LIST,"Shop Übersicht",string,"Auswählen","Abbruch");
return 1;
}Print gibt mittlerweile etwas aus
Code
Alles anzeigen[15:24:02] Inhaber: Rene Shopid [15:24:02] Inhaber: Legal.Highs Shopid [15:24:02] Inhaber: Shopid [15:24:02] Inhaber: Shopid [15:24:02] Inhaber: Shopid [15:24:02] Inhaber: Shopid [15:24:02] Inhaber: Shopid [15:24:02] Inhaber: Shopid [15:24:02] Inhaber: Shopid
Allerdings bleibt der Dialog noch leer
-
Hallo,
ich würde gerne alle Shops Abfragen die auf meinen Server vorhanden sind. Hierfür habe ich mir gedacht einen Format zu verwenden und diesen im Dialog wieder auszugeben. Nun werden mir allerdings nicht die Shop Daten angezeigt. Welchen Fehler habe ich eventuell gemacht oder was fehlt mir damit die Anzeige möglich ist ?
Betreffender Code
ocmd:shops(playerid)
{
if(PlayerInfo[playerid][pLoggedIn]==false)return 1;
new string[128];
for(new i=0; i<sizeof(Shops); i++)
{
format(string,sizeof(string),"Inhaber: %s \t\tShopid \n",Shops[i][s_besitzer],Shops[i][s_id]);
}
ShowPlayerDialog(playerid,DIALOG_SHOPS_AUSWAHL,DIALOG_STYLE_LIST,"Shop Übersicht",string,"Auswählen","Abbruch");
return 1;
} -
MySQL Version überprüfen
Hauptverzeichnis/pawno/include/mysql.inc öffnen. Ganz oben steht die Version. Diese in Google suchen und runterladen. Im Verzeichnis ersetzen.
Datenbank bei SAMP4YouDeine Datenbank wird sicherlich über PHPMyAdmin verwaltet. Gehe in die Oberfläche und wähle deine gewünschte Datenbank aus. Daraufhin klickst du auf Importieren. Nun klickst du auf Durchsuchen und lädst die Datenbank hoch.
-
Richtige MySQL Version Includiert ? Sieht mir nach einem Fehler aus (falsche Version)
-
Dein Streamer include stimmt mit dem Plugin nicht überein
hinzu nutze bitte crashdetect einmal um den fehler genau auszulesen
-
Alles klar. Dein Script. Ich gehe von samp aus.
Zeig uns mal deine server_log.txt
-
Ich weiß ihr braucht Informationen u.s.w aber ich möchte nicht alles nur Schreiben Schreiben Schreiben
Ihr bekommt mehr Informationen auf meinem Teamspeak 5.135.112.217:4010
Es wird kaum einer auf deinen TeamSpeak 3 kommen und dir ohne Code helfen. Daher schildere dein Problem hier Öffentlich oder lass deine Beiträge hier im Forum sein. Denn das ist einfach Müll und überdeckt die Wichtigen Beiträge -
Um dir genau weiterhelfen zu können erwähne doch bitte einmal worum es geht. Möchtest du einem PHP Formular eine Anbindung an die Datenbank ermöglichen ? Willst du einen SA:MP Server starten oder möchtest du doch Nachbarstochters Gehirn auslesen und in die Datenbank speichern ?
Wir können nicht in deinen Kopf gucken.
-
Du suchst einen Scripter der nicht zwingend gut Scripten können muss? O.o Verstehe ich nicht.
ich auch nicht haha.
Gut Scripten bringt einem doch den Erfolg
-
- Biete hiermit meine WBB Lizenz an
- Version: 4.0.*
- Zahlungsart: Paypal
- Preis: 35 VB
- Bedingungen:
- Nur mit Mittelsmann aus dem Forum (mein Vorschlag @shoxinat0r) sofern er nichts dagegen hat
- Info:
- Bei Interesse per pn oder in Thread melden
push 24.2
Push 27.02
Push 01.03 -
- if($result) {
- echo "Der Benutzer '" .$email. "' wurde erfolgreich registriert.";
- } else {
- echo "Fehler";
- }
Mehr als Fehler wird mir auch nicht angezeigt
-
Andere SQL Statements funktionieren ohne Probleme.
-
ich habe mir Daten erstellt in phpmyadmin und das ganze übernommen. Von daher gehe ich aus das es eigentlich richtig ist.
In meinem ersten Beitrag in diesem Thread konnte alles gespeichert werden bis auf
-author
-createdate -
Hab es nun wie folgt abgeändert allerdings gibt er mir nun immernoch einen Fehler aus.
$date = date ("Y-m-d");
$statement = $pdo->prepare("INSERT INTO `login`.`news` (`id`, `headline`, `text`, `author`, `createdate`) VALUES (NULL, ?, ?, ? ,?);");
$result = $statement->execute(array($headline, $textarea, $name, $date)); -
Moin,
ich bekomme derzeit das Datum und den Author nicht in die Datenbank gefüllt. Woran kann es liegen ?
PHP
Alles anzeigen<?php if(isset($_GET['newsadd'])) { $headline = $_POST['headline']; $textarea = $_POST['textarea']; $date = date (Y-m-d); $statement = $pdo->prepare("INSERT INTO `login`.`news` (`id`, `headline`, `text`, `author`, `createdate`) VALUES (NULL, '$headline', '$textarea', '$name', '$date');"); $result = $statement->execute(array('id' => NULL,'headline' => $headline, 'text' => $textarea, 'author' => $name, 'createdate' => $date)); if($result) { echo "Der Benutzer '" .$email. "' wurde erfolgreich registriert."; } else { echo "Fehler"; } } ?>
wird durch ein Template abgefragt und kann über ein echo ausgegeben werden.
Über eure Hilfe bin ich wie immer dankbar
-
Ansi32 installiert von AutoHotkey?
Speicherst du direkt in UTF8 ? Nicht ohne iwas hinten dran. Weiß gerade nicht wie das Heißt.
Das die F12 Taste nicht geht ist klar aufgrund von deinem Suspend ohne Angabe. Zumindest kann es da zu Fehlern kommeb
Also
Suspend On
Suspend OffVielleicht hat @Madd92 noch eine Idee