Vermutlich weil es $anzahl und nicht $aznzahl heißen muss :p
Haha, klappt aber trotzdem nicht -.-
Vermutlich weil es $anzahl und nicht $aznzahl heißen muss :p
Haha, klappt aber trotzdem nicht -.-
Schreib die Sachen oben in nen constructor und passe die Variablen noch an
Hab das jetzt so geregelt:
Dann wird mir die Seite komplett leer angezeigt, wie als wenn ein Fehler vorhanden wäre, bloß, dass dort kein Fehler steht, sprich die Seite ist komplett leer.
Liegt daran das du eine Variable die ausserhalb der Klasse steht innerhlab der Klasse verwenden willst
Könntest du mir helfen, dieses Problem zu lösen? ( im phpcode oben steht alles ) bin neu in dem Gebiet
aso so willst du das nicht
$anzahl ist ein array da müsste nen array to string error kommen oder?
bei
bekomme ich: Parse error: syntax error, unexpected T_VARIABLE
wenn du einen $ im string hast musst du $var = '$' schreiben nicht $var = "$";
wenn ich $var = '$' oder $var = "$" eingebe, wird $ als Text wiedegegeben und nicht als $ wie ich es möchte
Hey, ich komme gerade beim scripten leider nicht voran.
Wie kann ich bei "Hier muss $ anzahl rein aber dann gibts nen Fehler "; (Zeile 26 ) die variable $anzahl rein machen kann, also dann im Template {$huso} (Zeile 68 member_array=$huso) und $huso soll dann $anzahl ausgeben im Template.
<?php
//@imports
require_once("libs/pages/Page.class.php");
require_once("libs/Smarty.class.php");
require_once("libs/SampQueryAPI.php");
require_once("libs/pages/StatsPage.class.php");
mysql_connect("***", "***", "****") or die ("MySQL-Fehler: " . mysql_error());
mysql_select_db("ni146141_3_DB") or die ("MySQL-Fehler: " . mysql_error());
$query = "select count(Fraktion) from script_accounts WHERE Fraktion ='5'";
$result = mysql_query($query) or die ("MySQL-Fehler: " . mysql_error());
$anzahl = mysql_result($result,0);
$this->arrayy[] = $anzahl;
class FraktionenPage extends Page
{
public $templateName = "Frak";
protected $fraktion_array = array();
public $member_array = "Hier muss $ anzahl rein aber dann gibts nen Fehler ";
public $arrayy = test;
protected $test_array = array();
public function readData() {
parent::readData();
if( !isset( $_SESSION["loggedin"] ) ) header('Location: index.php?page=Home');
$sql = UCP_Framework::getDB()->sendQuery("SELECT *
FROM ". UCP_Framework::getConfig()->usertable ."
WHERE ". UCP_Framework::getConfig()->userFrak ." = '". $userFrak ."'
LIMIT 100");
if( UCP_Framework::getDB()->numRows($sql) > 1) {
while($f = UCP_Framework::getDB()->fetchArray($sql) ) {
$f["frakID"] = @$f["ID"];
$f["frakName"] = @$f["ID"];
$p["userFraktion"] = @$p[UCP_Framework::getConfig()->userFraktion];
$sql_us = UCP_Framework::getDB()->sendQuery("SELECT COUNT(*)
FROM ". UCP_Framework::getConfig()->usertable ."
WHERE ". UCP_Framework::getConfig()->userFrak ." = '". $f["ID"] ."'");
$f["frakMembers"] = UCP_Framework::getDB()->fetchRow($sql_us);
$this->fraktion_array[] = $f;
}
} else {
header('Location: index.php?page=Fraktionen');
}
}
public function assignVariables() {
parent::assignVariables();
UCP_Framework::getTPL()->assign( array(
"frak" => $this->fraktion_array,
"huso" => $this->member_array,
"anzahl" => $this->arrayy,
"teamOverview" => UCP_Framework::getConfig()->teamOverview
) );
}
public function show() {
parent::show();
}
}
?>
<body>
</body>
Alles anzeigen
Dankeschön, hat mir sehr geholfen , jetzt bin ich beim bannen und möchte gleichzeitig mit dem bannen, auch die MySQL DB Updaten, doch hab auch da Probleme bei den Befehlen.
Also meine Tabelle heißt script_accounts und meine Spalte heißt Banned , nun möchte ich, dass wenn folgender Befehl ausgeführt wird (ein Spieler gebannt wird) Auch die Banned Spalte von 0 auf 1 gesetzt wird, mit dem Befehl:
Wie lautet der genaue Befehl dafür? Wäre nett, wenn ihr mir weiterhin helft
<html>
<head>
<title>test</title>
</head>
<body>
<?php
require_once "SampQueryAPI.php";
require_once "SampRconAPI.php";
$query = new SampQueryAPI('109.230.248.233', 7777);
$rcon = new SampRconAPI('109.230.248.233', 7777, 'bossmodus');
if(kickPlayerByName($_POST["pname_k"],$query,$rcon))
echo 'Der Spieler wurde erfolgreich gebannt.';
else
echo 'Der Spieler wurde nicht erfolgreich gebannt.';
function kickPlayerByName($name, $query, $rcon)
{
$players = $query->getDetailedPlayers();
foreach($players as $i) {
if($i['nickname'] == $name) {
$rcon->playerBan($i['playerid']);
return true;
} else {
echo($i['nickname']);
}
}
return false;
}
?>
</body>
</html>
Alles anzeigen
Bewusst ist mir das, dass es deine Verbindungsdaten sind.
Das mit dem Unknown habe ich auch verstanden, aber wie krieg ich hin, dass ich nicht immer die Namen in das Feld schreiben muss, wo bei dir Unknown steht?,
PHPAlles anzeigen<html> <head> <title>test</title> </head> <body> <?php require_once "SampQueryAPI.php"; require_once "SampRconAPI.php"; $query = new SampQueryAPI('localhost', 7777); $rcon = new SampRconAPI('localhost', 7777, 'changeme1'); if(kickPlayerByName('Unknown',$query,$rcon)) echo 'Erfolgreich gekickt'; else echo 'Nicht Erfolgreich gekickt'; function kickPlayerByName($name, $query, $rcon) { $players = $query->getDetailedPlayers(); foreach($players as $i) { if($i['nickname'] == $name) { $rcon->playerKick($i['playerid']); return true; } else { echo($i['nickname']); } } return false; } ?> </body> </html>
"Alle namen vom Server hintereinander geschrieben" Nicht Erfolgreich gekickt
Scheint irgendwas noch nicht ganz zu funktionieren
Das geht auch anders, denn du kannst mit der SampQueryAPI dir ebenfalls alle Spieler ausgeben lassen in einem Array, dieses kann man anschließend überprüfen ob der Name enthalten ist und falls ja über die
SpielerID kicken.
CodeAlles anzeigenrequire "SampQueryAPI.php"; $query = new SampQueryAPI(IP eintragen, Port eintragen); $rcon = new SampRconAPI('ip', port, 'rconpw'); function kickPlayerByName($name) { $players = $query-> getDetailedPlayers(); foreach($players as $i) { if($i['nickname'] === $name) { $rcon->playerKick($i['playerid']); return true; } } return false; }
IPrototypeI:
Dass das so mit der QAPI funktioniert ist mir klar, habe mich halt an die RQuery gehalten!
@denni1199:
Wenn du den einfachen Weg möchtest, dann mach es über die QAPI und nicht RAPI + MySQl Querys.
mfg
Erhalte den Fehler Code
<html>
<head>
<title>test</title>
</head>
<body>
<?php
require "SampQueryAPI.php";
require "SampRconAPI.php";
$query = new SampQueryAPI('*****', 7777);
$rcon = new SampRconAPI('*****', 7777, '*****');
function kickPlayerByName($name)
$players = $query-> getDetailedPlayers();
foreach($players as $i) {
if($i['nickname'] == $name) {
$rcon->playerKick($i['playerid']);
return true;
}
}
return false;
?>
</body>
</html>
Alles anzeigen
Okay, welche Include Version benutzt du ?
z.b R5, r31-39 von BlueG oder Strickenkid..grad mal die a_mysql.inc mit Notepad o.ä öffnen.
mfg
R34 von BlueG verwenden wir.
Welche MySQL Include benutzt du?
Arbeitest du in PHP mit PDO/MySQLI oder mit dem normalen MySQL System?
mfg
Ich arbeite nicht mit dem MySQLI System, sondern mit dem normalen MySQL System
Ja, du sollst ja auch eine ID dort eingeben, ich habe keine Ahnung wie man das mit Regeln könnte das auch ein Name akzeptiert wird.
Ich denke du kannst das geschickt mit einem Filterscript regeln, benutzt du MySQL ?
mfg
Ja, mit ID gehts, ich benutze MySQL richtig
Alles anzeigenIch mache dir mal ein Beispiel, da ich noch nicht so mit Javascript vertraut bin mache ich es nicht mit "onClick".
Zuerst einmal erstellst du das Inputfeld mittels HTML.
PHP<form method="post" action="kickPlayer.php"> <input type="text" name="pname_k"> <button type="submit">Kicken</button> </form>
Dann erstellst oben im Head Bereich eine Verbindung zum Server her.
Dann lassen wir den Spieler kicken.
PHP<? if(!empty($_POST["pname_k"])){ $rcon->playerKick(strval($_POST["pname_k"])); //andere aktionen break; } ?>
Musst den Code etwas anpassen.
mfg
Danke, aber egal welchen Namen ich nun in das Feld eingebe, es kickt immer ID 0, weist du da weiter?
Hey,
Ich suche einen PHP Codeschnippsel, mit dem ich bei eingeben von dem Namen in ein Feld den jeweiligen Spieler kicke und dass es mit mit nem Button (onClick) diesen auch kickt, würde mir sehr weiter helfen, und das wäre echt sehr nett, wenn ihr mir damit für mein Admin-Panel weiter helft
Ich suche jemanden, der sich mit PHP MYSQL befehlen auskennt ( Werte und Tabellen auslesen und diese ändern ). Wer Kentnisse hat, soll sich melden.
Gruß, Denni
Ich suche jemanden der mir dabei hilft bei meinem UCP einige Befehle zu erstellen, welche es ermöglichen einen Spieler über das CP zu Bannen und Warns zu geben, bzw. Werte in MYSQL ändern zu lassen, suche jemanden mit viel MYSQL / HTML/PHP Erfahrung. Bei viel Einsatz gibts Belohnungen, weiteres per PN.
Also wer bereit ist, bitte melden.
PHPif ($config->md5confi == true) { $pw = md5 ($password); } else if($config->md5confi == false) { $pw = $password; }
den code musst du abändern, anstelle der md5 Funktion nimmst du die hash Funktion
http://php.net/manual/de/function.hash.php
und gibst whirlpool beim ersten Funktionparameter an und eventuell auch die Methode md5confi anpassen
Es klappt nun, danke
Ich habe in meinem UCP script die Verschlüsselung MD5 drinne, nach stundenlangen ausprobieren, diesen durch die Whirlpool verschlüsselung zu ersetzen ( Da ich in meiner DB Whirlpool habe ) frage ich nun euch, ob ihr mir dabei helfen könnt, hier ist der Code. ( Der Teil befindet sich in Zeile 28 )
<?php
//@imports
require_once("libs/pages/Page.class.php");
require_once("libs/SampQueryAPI.php");
class LoginPage extends Page
{
public $templateName = "Login";
public function readData() {
parent::readData();
$s = new SampQueryAPI(UCP_Framework::getConfig()->serverip, UCP_Framework::getConfig()->serverport);
if($s->isOnline()) {
$this->i = $s->getInfo();
$this->p = $s->getDetailedPlayers();
$this->r = $s->getRules();
}
if(isset($_POST['submit']))
{
$username = UCP_Framework::getDB()->escapeString(@$_POST['Name']);
$password = UCP_Framework::getDB()->escapeString(@$_POST['Passwort']);
$config = UCP_Framework::getConfig();
if ($config->md5confi == true) {
$pw = md5 ($password);
} else if($config->md5confi == false) {
$pw = $password;
}
if( isset ( $username ) && isset ( $pw ) )
{
$query = UCP_Framework::getDB()->sendQuery (" SELECT *
FROM ". $config->usertable ."
WHERE ". $config->userName ." = '". $username ."'
AND ". $config->userPw ." = '". $pw ."'
LIMIT 1");
if(UCP_Framework::getDB()->numRows ( $query ) == 1)
{
$_SESSION["loggedin"] = $username;
header('Location: index.php?page=Stats');
} else UCP_Framework::getTPL()->assign("error", "<div class="alert alert-error">Es wurde kein Benutzeraccount mit diesen Daten gefunden!</div>");
} else UCP_Framework::getTPL()->assign("error", "<div class="alert alert-error">Bitte fülle alle Felder aus!</div>");
}
}
public function assignVariables() {
parent::assignVariables();
UCP_Framework::getTPL()->assign( array(
"i" => $this->i,
"p" => $this->p,
"r" => $this->r
) );
}
public function show() {
parent::show();
}
}
?>
Alles anzeigen
Entweder nutzt du 127.0.0.1 oder, du aktivierst den externen Zugriff auf die Datenbank.
Localhost kann ich nicht benutzen, da ich vom Webspace ja auf die ServerIP zugreifen muss, externer Zugriff ist auch aktiviert.