Meld dich bei mir doch anstatt hier zu fragen
Bist in Skype leider offline
Meld dich bei mir doch anstatt hier zu fragen
Bist in Skype leider offline
Kurze Frage dennoch, da ich nun sein UCP nutze.
Auf meinem Localserver (XAMPP) läuft alles einwandfrei, konnte mich immer einloggen/ausloggen.
Nun habe ich alles erstmal auf den vServer gezogen, Daten geändert und nun meint er die ganze Zeit, Account wurde nicht gefunden, was ebenfalls bedeuten kann, Passwort falsch.
Zeig uns mal bitte die Funktion.
Wie genau meinst du das? Ich hab mir ein UCP runtergeladen, welches ich editieren will. Jedoch habe ich derzeit noch Fehler im UCP, die ich oben aufgelistet habe, obwohl ich es noch nicht editiert habe.
Entschuldige mich direkt, wenn ich falsch liege, da ich mit dieser MySQL Version nicht auskenne. Musst du den Query nicht noch ausführen?
Puh, klingt doch nicht so einfach wie gedacht. Ich weiß aber leider nicht, wie ich anfangen soll.
Es gibt ja zudem auch Unterschiede bei der Verbindung (PHP) zum MySQL Server, manche Funktionen weisen schon Sicherheitslücken auf, andere nicht.
//e: Habe mir jetzt ein UCP runtergeladen, welches ich gerne überarbeiten möchte, zum testen.
Jedoch habe ich Fehler im Code, so wie es aussieht. Die Seite sieht derzeit so aus:
Folgende Errors listet er oben auf:
Notice: Undefined property: LoginPage::$i in C:\xampp\htdocs\ucp\libs\pages\LoginPage.class.php on line 51
Notice: Undefined property: LoginPage::$p in C:\xampp\htdocs\ucp\libs\pages\LoginPage.class.php on line 52
Notice: Undefined property: LoginPage::$r in C:\xampp\htdocs\ucp\libs\pages\LoginPage.class.php on line 53
Dies ist der dazugehörige Code, die Fehlerzeilen habe ich markiert. Durch Google konnte ich nichts finden, was mir helfen kann.
Hallo,
ich wollte mich mal schlau machen, ob es irgendwo ein Tutorial gibt, welches auf bootstrap passiert, wie man von den aktuellen Jahr her, ein sicheres User Control Panel entwickelt.
Am besten kein Video oder ähnliches, lieber eine direkte Seite, wo das Tutorial geschrieben ist.
Gruß
Schönes UCP, weiß jemand zufällig, welches Bootstrap Theme das ist?
Tut mir Leid, dass ich dieses Thema wieder aus dem Forum auskrame.
Die Funktionen bzw der Code scheinen veraltet zu sein, funktionieren nicht und ich habe sonderlich keine große Erfahrung mit PHP. Hätte jemand Interesse, den Code neu aufzuschreiben?
Huhu,
arbeite derzeit am Gutschein System, mit der Funktion KM-Stand zurücksetzten.
Hier vorerst der Code, danach erzähle ich, was nicht funktioniert.
case 7: //KM-Resetter
{
if(gettime() > Gutschein[i][gAblauf])
{
SendClientMessage(playerid, COLOR_GREY, "Dieser Gutschein ist bereits abgelaufen.");
Gutschein[i][gAbgelaufen] = 1;
return 1;
}
new vehicleid = GetPlayerVehicleID(playerid);
if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_GREY, "Du befindest dich in keinem Fahrzeug.");
if(!(IsAFraktionsVeh(vehicleid) == INVALID_VEHICLE_ID))
{
if(IsValidVehicle(vehicleid))
{
new fV = IsAFraktionsVeh(vehicleid);
if(Spieler[playerid][pFraktion] != fVehicle[fV][vehFraktion])return SendClientMessage(playerid, COLOR_GREY, "Den Kilometerstand dieses Fahrzeuges kannst du nicht zurücksetzten.");
else if(Spieler[playerid][pFraktion] == fVehicle[fV][vehFraktion] && Spieler[playerid][pRank] == RANG_LEADER)
{
fVehicle[fV][vehKMStand] = 0;
Gutschein[i][gEingeloest] = 1;
}
}
}
for(new slot = 0;slot<MAX_PLAYER_VEHICLES;slot++)
{
if(IsValidVehicle(PrivateVehicle[playerid][slot][vehID]))
{
if(vehicleid == PrivateVehicle[playerid][slot][vehID])
{
PrivateVehicle[playerid][slot][vehKMStand] = 0;
Gutschein[i][gEingeloest] = 1;
}
}
}
SendClientMessage(playerid, COLOR_GREY, "Dieses Fahrzeug gehört nicht dir.");
return 1;
}
Irrelevant ob ich in einem Fraktionsfahrzeug sowie Privatcar von mir oder meiner Fraktion sitze, er meint die ganze Zeit, dass dieses Fahrzeug nicht mir gehört. Bei den Fraktionsfahrzeugen soll eigentlich die andere Nachricht kommen, tut Sie aber nicht.
Nebenbei wird der KM Stand auch nicht auf 0 gesetzt, sondern bleibt so, wie vorher auch. Das der Gutschein aber eingelöst wurde, funktioniert.
Hoffe jemand kann mir helfen
Weiß jemand zufällig, warum nur der erste Eintrag in der Tabelle überprüft wird und die anderen nicht?
case DIALOG_GUTSCHEIN:
{
if(response)
{
if(!strlen(inputtext))return ShowPlayerDialog(playerid, DIALOG_GUTSCHEIN, DIALOG_STYLE_INPUT, "Gutschein einlösen", ""COLOR_HEX_WHITE"Bitte gebe deinen Gutschein-Code nun in das untere Feld ein.", "Auswählen", "Abbrechen");
for(new i=1;i<MAX_GUTSCHEINE;i++)
{
if(Gutschein[i][gErstellt] != 0)
{
if(!strcmp(inputtext, Gutschein[i][gCode], false))
{
if(Gutschein[i][gGebunden] == 1)
{
}
else
{
}
SendClientMessage(playerid, COLOR_GREY, "Richtiger Code.");
return 1;
}
else
{
ShowPlayerDialog(playerid, DIALOG_GUTSCHEIN, DIALOG_STYLE_INPUT, "Gutschein einlösen", ""COLOR_HEX_YELLOW"Du hast einen ungültigen Gutschein-Code eingegeben\n\n"COLOR_HEX_WHITE"Bitte gebe deinen Gutschein-Code nun in das untere Feld ein.", "Auswählen", "Abbrechen");
return 1;
}
}
}
}
}
Wie wäre es hier richtig? Die Abfrage ob der Code existiert, funktioniert leider nicht.
for(new i=1;i<MAX_GUTSCHEINE;i++)
{
if(Gutschein[i][gErstellt] != 0)
{
if(!strcmp(inputtext, Gutschein[i][gCode], false))
{
if(Gutschein[i][gGebunden] == 1)
{
}
else
{
}
SendClientMessage(playerid, COLOR_GREY, "Richtiger Code.");
return 1;
}
else
{
ShowPlayerDialog(playerid, DIALOG_GUTSCHEIN, DIALOG_STYLE_INPUT, "Gutschein einlösen", ""COLOR_HEX_YELLOW"Du hast einen ungültigen Gutschein-Code eingegeben\n\n"COLOR_HEX_WHITE"Bitte gebe deinen Gutschein-Code nun in das untere Feld ein.", "Auswählen", "Abbrechen");
return 1;
}
}
}
}
Weiß jemand warum er mir als Code sowas komisches ausgibt?
format(Gutschein[i][gCode], 16, "%s%d%s%d-%s%d%s%d-%s%d%s%d", getRandomLetter(), random(10), getRandomLetter(), random(10), getRandomLetter(), random(10), getRandomLetter(), random(10), getRandomLetter(), random(10), getRandomLetter(), random(10));
Wollte 3 Blöcke, wo jeweils Buchstabe, Zahl, Buchstabe und Zahl kommt.
Er gibt mir jedoch folgendes aus: R6NR4-dNR0n0
dummer Denkfehler von mir, dankt euch.
Weiß jemand von euch zufällig, warum meine Funktion keinen Sinn ergibt?
SaveGutschein(pCreateGutschein[playerid]);
public SaveGutschein()
{
new count = 0, mainQuery[1537], secondQuery[256];
for(new i=1;i<MAX_GUTSCHEINE;i++)
{
if(Gutschein[i][gErstellt] == 1)
{
format(secondQuery, sizeof(secondQuery), "UPDATE `script_gutscheine` SET `Erstellt`='%d', `Ersteller`='%s', `Datum`='%s', `Ablauf`='%s', ",
Gutschein[i][gErstellt], Gutschein[i][gErsteller], Gutschein[i][gDatumErstellt], Gutschein[i][gAblauf]);
strcat(mainQuery, secondQuery);
format(secondQuery, sizeof(secondQuery), "`Code`='%s', `Typ`='%d', `Gebunden`='%d', `GebundenAn`='%s', `Eingeloest`='%d' WHERE `id`='%d' ",
Gutschein[i][gCode], Gutschein[i][gTyp], Gutschein[i][gGebunden], Gutschein[i][gGebundenAn], Gutschein[i][gEingeloest], Gutschein[i][gID]);
strcat(mainQuery, secondQuery);
mysql_function_query(myCon, mainQuery, false, "", "");
strdel(mainQuery, 0, sizeof(mainQuery));
count++;
}
}
printf("[SAVE] Gutscheine wurden gespeichert. (%d/%d)", count, MAX_GUTSCHEINE);
return 1;
}
Hallo,
ich habe in meinem Gutschein System einen Fehler und weiß ganz ehrlich nicht, woher dieser kommt.
enum e_Gutscheine
{
gID, //
gErstellt, //
gErsteller[MAX_PLAYER_NAME], //
gDatumErstellt[16], //
gAblauf[16],
gCode[16],
gTyp,
gGebunden,
gGebundenAn[32],
gEingeloest
};
new Gutschein[e_Gutscheine][MAX_GUTSCHEINE];
else if(strcmp(str, "Gutschein", true) == 0)
{
for(new i=1;i<MAX_GUTSCHEINE;i++)
{
if(Gutschein[i][gErstellt] != 1) // - Fehlerzeile
{
new pYear, pMonth, pDay, pHour, pMinute, pSecond;
format(query, sizeof(query), "INSERT INTO `script_gutscheine` (id) VALUES ('%d')", i);
mysql_function_query(myCon, query, false, "", "");
pCreateGutschein[playerid] = i;
Gutschein[i][gErstellt] = 1; // - Fehlerzeile
strmid(Gutschein[i][gErsteller], GetName(playerid), 0, strlen(GetName(playerid)), 24); // - Fehlerzeile
TimestampToDate(Gutschein[i][gDatumErstellt], pYear, pMonth, pDay, pHour, pMinute, pSecond, 2, 0); // - Fehlerzeile
//strmid(Gutscheine[i][gCode], "%c%d%c%d-%c%d%c%d-%c%d%c%d", 0, getRandomLetter(), random(10), getRandomLetter(), random(10), getRandomLetter(), random(10), getRandomLetter(), random(10), getRandomLetter(), random(10), getRandomLetter(), random(10), 16);
Gutschein[i][gEingeloest] = 0; // - Fehlerzeile
ShowPlayerDialog(playerid, DIALOG_GUTSCHEIN1, DIALOG_STYLE_LIST, "Gutschein erstellen", "Gebundenen Gutschein erstellen\nUngebundenen Gutschein erstellen", "Auswählen", "Abbrechen");
}
}
return SendClientMessage(playerid, COLOR_GREY, "Maximale Anzahl an Gutscheinen erreicht!");
}
warning 213: tag mismatch
warning 213: tag mismatch
warning 213: tag mismatch
warning 213: tag mismatch
warning 213: tag mismatch
Die Fehlerzeilen habe ich markiert.
Gruß
stock GetPlayerNearestCarID(playerid,Float:radius)
{
new Float:vx,Float:vy,Float:vz, carid;
for(new v = 1; v <= MAX_VEHICLES; v++)
{
GetVehiclePos(v,vx,vy,vz);
if(IsPlayerInRangeOfPoint(playerid,radius,vx,vy,vz))
{
carid = v;
}
}
return carid;
}
Komischerweise gibt er mir im Print als vehicleid die 2000 aus und als PrivateVehicle[playerid][slot][vehID] die eigentliche Vehicle ID.
new vehicleid = GetPlayerNearestCarID(playerid,5);
for(new slot = 0;slot<MAX_PLAYER_VEHICLES;slot++)
{
SendClientMessage(playerid,-1,"2");
if(IsValidVehicle(PrivateVehicle[playerid][slot][vehID]))
{
SendClientMessage(playerid,-1,"3");
format(DialogString,sizeof(DialogString),"%d | %d |",vehicleid,PrivateVehicle[playerid][slot][vehID]);
SendClientMessage(playerid, COLOR_YELLOW, DialogString);
if(vehicleid == PrivateVehicle[playerid][slot][vehID])
{
SendClientMessage(playerid,-1,"4");
if(GetVehiclePos(PrivateVehicle[playerid][slot][vehID], Pos[0], Pos[1], Pos[2]) && IsPlayerInRangeOfPoint(playerid, 5.0, Pos[0], Pos[1], Pos[2]))
{
SendClientMessage(playerid,-1,"5");
if(!IsPlayerBehindVehicle(playerid,PrivateVehicle[playerid][slot][vehID]))return SendClientMessage(playerid, COLOR_GREY, "Du befindest dich nicht am Kofferraum des Fahrzeuges.");
ShowPlayerDialog(playerid, DIALOG_TRUNK, DIALOG_STYLE_LIST, "Kofferraum", "Gegenstände einlagern\nGegenstände auslagern\nKofferraum Inhalt überprüfen", "Auswählen", "Schließen");
SetVehicleParamsEx(PrivateVehicle[playerid][slot][vehID],engine,lights,alarm,doors,bonnet,VEHICLE_PARAMS_ON,objective);
return 1;
}
}
}
}
Sorry nochmal, hatte mein Beitrag zu eifrig gelöscht.
Ich habe das private Fahrzeugsystem nun so, leider komme ich aber nicht bis zur eigentlichen Funktion. Sprich, alles was nach der Abfrage kommt, ob es sein Fahrzeug ist, wird nicht ausgeführt.
new vehicleid = GetPlayerNearestCarID(playerid,5);
for(new slot = 0;slot<MAX_PLAYER_VEHICLES;slot++)
{
if(IsValidVehicle(PrivateVehicle[playerid][slot][vehID]))
{
if(GetVehiclePos(PrivateVehicle[playerid][slot][vehID], Pos[0], Pos[1], Pos[2]) && vehicleid == PrivateVehicle[playerid][slot][vehID] && IsPlayerInRangeOfPoint(playerid, 5.0, Pos[0], Pos[1], Pos[2]))
{
if(!IsPlayerBehindVehicle(playerid,PrivateVehicle[playerid][slot][vehID]))return SendClientMessage(playerid, COLOR_GREY, "Du befindest dich nicht am Kofferraum des Fahrzeuges.");
ShowPlayerDialog(playerid, DIALOG_TRUNK, DIALOG_STYLE_LIST, "Kofferraum", "Gegenstände einlagern\nGegenstände auslagern\nKofferraum Inhalt überprüfen", "Auswählen", "Schließen");
SetVehicleParamsEx(PrivateVehicle[playerid][slot][vehID],engine,lights,alarm,doors,bonnet,VEHICLE_PARAMS_ON,objective);
SendClientMessage(playerid, -1, "Privatcar");
break;
}
}
}
Brauche denke ich einen kleinen Denkanstoß. Habe es jetzt so, jedoch printet er mir immer noch, nur bis zur Nummer 2.
for(new slot = 0;slot<MAX_PLAYER_VEHICLES;slot++)
{
SendClientMessage(playerid, COLOR_YELLOW, "1");
if(IsValidVehicle(PrivateVehicle[playerid][slot][vehID]))
{
SendClientMessage(playerid, COLOR_YELLOW, "2");
new PrivatCar = GetClosestVehicle(playerid, 5);
GetVehiclePos(PrivateVehicle[playerid][slot][vehID], Pos[0], Pos[1], Pos[2]);
if(PrivatCar == PrivateVehicle[playerid][slot][vehID])
{
SendClientMessage(playerid, COLOR_YELLOW, "3");
if(IsPlayerInRangeOfPoint(playerid, 5.0, Pos[0], Pos[1], Pos[2]))
{
SendClientMessage(playerid, COLOR_YELLOW, "4");
PrivatCar = PrivateVehicle[playerid][slot][vehID];
count++;
break;
}
}
}
}