PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : wo ist der fehler? php



binchen3001
24.04.2013, 17:56
<?menuehead("Dein Klickrang");
include ("content/klick_rang/klick_rangabgleich.php");
$kontodaten = mysql_fetch_array(db_query("SELECT klickrang FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1"));
<a href="?content=/klick_rang/uebersicht">$kontodaten['klickrang']</a>
menuefoot();?>

geht um den klickrang..
mein prog sagt, dass in dieser zeile was falsch ist.. :( ich weiß aber echt nicht was ?????


<a href="?content=/klick_rang/uebersicht">$kontodaten['klickrang']</a>

habs auch so probiert, wie es original vorgegeben ist:


<a href="?content=/klick_rang/uebersicht"><?=$kontodaten['klickrang'];?></a>

funzt aber auch nich.. :(

liebe grüße

Lokutos
24.04.2013, 18:12
solang du mit "Prog" dein "Programm" meinst und nicht dein "Programmierer" (den würde ich direkt feuern...)



<a href="?content=/klick_rang/uebersicht"><?php echo $kontodaten['klickrang']; ?></a>

binchen3001
24.04.2013, 18:33
ja mit prog meine ich mein programm ;)

der code geht leider auch nicht :(

ako
24.04.2013, 18:48
<?menuehead("Dein Klickrang");
include ("content/klick_rang/klick_rangabgleich.php");
$kontodaten = mysql_fetch_array(db_query("SELECT klickrang FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1"));
<a href="?content=/klick_rang/uebersicht">$kontodaten['klickrang']</a>
menuefoot();?>

geht um den klickrang..
mein prog sagt, dass in dieser zeile was falsch ist.. :( ich weiß aber echt nicht was ?????


<a href="?content=/klick_rang/uebersicht">$kontodaten['klickrang']</a>

habs auch so probiert, wie es original vorgegeben ist:


<a href="?content=/klick_rang/uebersicht"><?=$kontodaten['klickrang'];?></a>

funzt aber auch nich.. :(

liebe grüße

Also in PHP wird HTML min. mit echo''; ausgegeben wenn dieser Code nichts Anzeigt würde ich mal in der Datenbank mal schauen ob was hinterlegt wurde zur $_SESSION['uid'] (bsp. die KlammID 123456).


<?php
menuehead("Dein Klickrang");
include ("content/klick_rang/klick_rangabgleich.php");
$kontodaten = mysql_fetch_array(db_query("SELECT uid,klickrang FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1"));
echo'<a href="?content=/klick_rang/uebersicht">'.$kontodaten['klickrang'].'</a> ';
menuefoot();?>

binchen3001
24.04.2013, 18:49
hier mal der ganze code:




<? if ($_SESSION['login'] == 'true') {?>

<?menuehead("Kontostand");
$kontodaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1"));
echo "".number_format($kontodaten['kontostand'],2,",",".")."&nbsp;".$waehrung."\n";
echo "".number_format($kontodaten['tresor'],2,",",".")."&nbsp;".Tresorguthaben."\n";
echo "".number_format($kontoinfo['bp'],2,",",".")."&nbsp;".AP´s."<br />";
echo "".number_format($kontoinfo['bpg'],2,",",".")."&nbsp;".AP´z."<br />";
menuefoot();?>

<?menuehead("Klicksmiley");
include ("content/sm.php");
menuefoot();?>
<?menuehead("Games");?>
<ul>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
<?menuefoot();






menuehead("Online");
include ("lib/weristonline.php");
menuefoot();
}

$filename = 'lib/texte/box1.txt';
$fp = fopen ($filename, "r");
$inhalt = fread ($fp, filesize ($filename));
fclose ($fp);
$inhalt = str_replace('\\', '', $inhalt);

if ($inhalt != ''){
menuehead("Sponsoren");
echo nl2br($inhalt);
menuefoot();
}
?>


und da soll der klickrang rein, am besten unter den kontostand ;)



include ("content/klick_rang/klick_rangabgleich.php")
menuehead("Dein Klickrang"); ?>
<? $kontodaten = mysql_fetch_array(db_query("SELECT klickrang FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1")); ?>
<a href="?content=/klick_rang/uebersicht"><?=$kontodaten['klickrang'];?></a>
<?menuefoot();

binchen3001
24.04.2013, 18:50
oh.. hat sich überschnitten.. ich probiere es gleich mal.

danke ako

ako
24.04.2013, 18:58
hier mal der ganze code:




<? if ($_SESSION['login'] == 'true') {?>

<?menuehead("Kontostand");
$kontodaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1"));
echo "".number_format($kontodaten['kontostand'],2,",",".")."*".$waehrung."\n";
echo "".number_format($kontodaten['tresor'],2,",",".")."*".Tresorguthaben."\n";
echo "".number_format($kontoinfo['bp'],2,",",".")."*".AP´s."<br />";
echo "".number_format($kontoinfo['bpg'],2,",",".")."*".AP´z."<br />";
menuefoot();?>

<?menuehead("Klicksmiley");
include ("content/sm.php");
menuefoot();?>
<?menuehead("Games");?>
<ul>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
<?menuefoot();






menuehead("Online");
include ("lib/weristonline.php");
menuefoot();
}

$filename = 'lib/texte/box1.txt';
$fp = fopen ($filename, "r");
$inhalt = fread ($fp, filesize ($filename));
fclose ($fp);
$inhalt = str_replace('\\', '', $inhalt);

if ($inhalt != ''){
menuehead("Sponsoren");
echo nl2br($inhalt);
menuefoot();
}
?>


und da soll der klickrang rein, am besten unter den kontostand ;)



include ("content/klick_rang/klick_rangabgleich.php")
menuehead("Dein Klickrang"); ?>
<? $kontodaten = mysql_fetch_array(db_query("SELECT klickrang FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1")); ?>
<a href="?content=/klick_rang/uebersicht"><?=$kontodaten['klickrang'];?></a>
<?menuefoot();


So sollte es aussehen oder?


<? if ($_SESSION['login'] == 'true') {?>

<?menuehead("Kontostand");
$kontodaten = mysql_fetch_array(db_query("SELECT uid,kontostand,tresor,klickrang FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1"));
echo "".number_format($kontodaten['kontostand'],2,",",".")." ".$waehrung."\n";
echo "".number_format($kontodaten['tresor'],2,",",".")." ".Tresorguthaben."\n";
echo "".number_format($kontoinfo['bp'],2,",",".")." ".AP´s."<br />";
echo "".number_format($kontoinfo['bpg'],2,",",".")." ".AP´z."<br />";
echo'<a href="?content=/klick_rang/uebersicht">'.$kontodaten['klickrang'].'</a>';
menuefoot();?>

<?menuehead("Klicksmiley");
include ("content/sm.php");
menuefoot();?>
<?menuehead("Games");?>
<ul>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
<?menuefoot();






menuehead("Online");
include ("lib/weristonline.php");
menuefoot();
}

$filename = 'lib/texte/box1.txt';
$fp = fopen ($filename, "r");
$inhalt = fread ($fp, filesize ($filename));
fclose ($fp);
$inhalt = str_replace('\\', '', $inhalt);

if ($inhalt != ''){
menuehead("Sponsoren");
echo nl2br($inhalt);
menuefoot();
}
?>

binchen3001
24.04.2013, 19:06
das funktioniert, nur sollte der rang auch angezeigt werden.. es ist nix zu sehen :(

ako
24.04.2013, 19:14
gibt es denn in der Datenbank die spalte klickrang unter der Tabelle kontodaten und sind einträge vorhanden ,( ich gehe mal davon aus Du hast dich selber Eingeloggt) und ist deine ID mitdabei? sonst müsste was Angezeigt werden.

erik3009
24.04.2013, 19:28
So ich wirke jetzt mal unterstützend mit. Ich hab grade in Ihre Datenbank geschaut. Die nötigen Einträge sind vorhanden. Als Test ist der Klickrang Anfänger mit mindestanforderung 1 Ap erstellt. dieser steht auch in der Datenbank mit drin. Der Bonus wurde ordnungsgemäß gebucht und der Klickrang steh auch in der Kontoübersicht mit drin. Allerdings nimmt das menue den in der Beschreibung enthaltenen Code nicht an wo eigentlich ja der Klickrang erscheinen müsste inklusive des Links zur Klickrangseite.


gibt es denn in der Datenbank die spalte klickrang unter der Tabelle kontodaten und sind einträge vorhanden ,( ich gehe mal davon aus Du hast dich selber Eingeloggt) und ist deine ID mitdabei? sonst müsste was Angezeigt werden.

ako
24.04.2013, 19:42
mh könnt auch an das liegen $kontoinfo['bp'] und $kontoinfo['bpg'] was ich mich schon ne weile Frage ? Wo wird den das abgefraget aber nicht von hier


$kontodaten = mysql_fetch_array(db_query("SELECT uid,kontostand,tresor,klickrang FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1"));

erik3009
24.04.2013, 20:09
Sorry das war noch nicht geändert.
selbstverständlich nicht Kontoinfo sondern kontodaten.

jetzt mal anders gefragt für die Ausgabe der Zahlen aus der Datenbank wird der zum Beispiel der Code

echo "".number_format($kontodaten['bpg'],2,",",".")."&nbsp;".AP´z."<br />";

verwendet.

Was ist wenn ich aus der Datenbank anstatt von Zahlen den Text im Echo ausgeben will?
Das wäre ja eigentlich auch ne Lösung des Problems.

ako
24.04.2013, 20:36
Möglich wenn die spalte mit min. varchar, text oder longtext angelegt ist.

Hilfe kann man hier lesen (http://www.schattenbaum.net/php/anlegen.php) ( nicht übel nehmen)



$Text=mysql_fetch_array(db_query("SELECT meintext,deranderetext FROM ".$db_prefix."_textdaten LIMIT 1"));

echo $Text['meintext'];

echo 'dieser '.$Text['deranderetext'].' könnte '. $Text['meintext'].' sein';

binchen3001
25.04.2013, 08:45
irgendwie haben wa das immer noch nicht hin bekommen... hat noch jemand ne idee? bin echt am verzeifeln :(

ako
25.04.2013, 08:53
mach mal ein Screen oder als code von der Datenbanktabelle _kontodaten wo die Spalte klickrang ist


Beispiel:


CREATE TABLE IF NOT EXISTS `vms_kontodaten` (
`uid` int(7) NOT NULL default '0',
`passwort` char(32) NOT NULL,
`status` tinyint(1) NOT NULL default '0',
`hinweis` longtext NOT NULL,
`kontostand` double(100,2) NOT NULL default '0.00',
`login_ip` varchar(15) NOT NULL default '',
`loginzeit` int(11) NOT NULL default '0',
`last_active` int(11) NOT NULL default '0',
`klicks` bigint(20) NOT NULL default '0',
`kv` double(100,2) NOT NULL default '0.00',
`angebettelt` bigint(20) NOT NULL default '0',
`bv` double(100,2) NOT NULL default '0.00',
PRIMARY KEY (`uid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

erik3009
25.04.2013, 09:33
So die Textausgabe aus der Datenbank funktioniert nun endlich:


<? if ($_SESSION['login'] == 'true') {?>


<?menuehead("Kontostand");
$kontodaten = mysql_fetch_array(db_query("SELECT `kontostand`, `tresor`, `bp`, `bpg`, `klickrang` FROM `".$db_prefix."_kontodaten` WHERE `uid` = ".$_SESSION['uid']." LIMIT 1"));
echo number_format($kontodaten['kontostand'],2,",",".")."&nbsp;".$waehrung."<br />";
echo number_format($kontodaten['tresor'],2,",",".")."&nbsp;".Tresorguthaben."<br />";
echo number_format($kontodaten['bp'],2,",",".")."&nbsp;".AP´s."<br />";
echo number_format($kontodaten['bpg'],2,",",".")."&nbsp;".AP´z."<br />";
echo $kontodaten['klickrang']."<br />";
menuefoot();?>


<?menuehead("Goldlore");
include ("content/sm.php");
menuefoot();?>

<?menuehead("Games");?>
<ul>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
<?menuefoot();



menuehead("Online");
include ("lib/weristonline.php");
menuefoot();
}

$filename = 'lib/texte/box1.txt';
$fp = fopen ($filename, "r");
$inhalt = fread ($fp, filesize ($filename));
fclose ($fp);
$inhalt = str_replace('\\', '', $inhalt);

if ($inhalt != ''){
menuehead("Counter");
echo nl2br($inhalt);
menuefoot();
}
?>


Wie baue ich jetzt die include ein damit der Rangabgleich auch mit der Datenbank kommuniziert:


include ("content/klick_rang/klick_rangabgleich.php")


Die rang_abgleich.php sieht so aus:


<?php
// Klickrang_nach_Klicks Addon
// Version für das VMS 1.2.4
// (c) 2010 by www.lose-scripte.de

$klick_user = mysql_fetch_array(db_query ("SELECT klickrangid, rangklicks FROM ".$db_prefix."_kontodaten WHERE uid= ".$_SESSION['uid']));

//Rang festlegen
$klick_rang= mysql_fetch_array(db_query("SELECT `klickid`,`bonus`,`klickrang` FROM ".$db_prefix."_klick_rang WHERE benoetigte_klicks <= $klick_user[1] ORDER BY klickid DESC
"));

//Rang abgleichen
if ($klick_user[0] < $klick_rang[0] ) {
// neuen Rang festlegen
$neuer_rang = ($klick_user[0] + 1);

$bonus = mysql_fetch_array(db_query("SELECT `bonus`,`klickrang` FROM ".$db_prefix."_klick_rang WHERE klickid = '$neuer_rang' LIMIT 1 "));

// neuen Rang eintragen und Bonus gutschreiben
db_query("UPDATE ".$db_prefix."_kontodaten SET kontostand = kontostand + ".$bonus[0].", klickrangid = ".$neuer_rang.", klickrang = '".$bonus[1]."' WHERE uid= ".$_SESSION['uid']."");

$buchungs_id = create_code(14);
buchungsliste ($buchungs_id,'+'.$bonus[0],'Du hast einen neuen KlickRang erreicht.',$_SESSION['uid']);
}



?>


wenn ich es nach Einbauanleitung (welche sehr dürftig gehalten ist) einbaue besteht wieder das Prob das entweder der Klick nicht gezählt wird oder aber das Menü verschwindet.

Hier mal die Anleitung:


Einbauanleitung für das VMS_1.2.4_KlickRangAddon

Achtung: Vor dem Einbau alle unveränderten Dateien sichern!


Veränderungen an der Datenbank


--
-- Daten für Tabelle `vms_kontodaten`
--
ALTER TABLE `vms_kontodaten` ADD `klickrang` VARCHAR( 20 ) NOT NULL,
ADD `klickrangid` INT( 3 ) NOT NULL DEFAULT '0',
ADD `rangklicks` double(100,2) NOT NULL default '0.00';


--
-- Daten für Tabelle `vms_klick_rang`
--

CREATE TABLE `vms_klick_rang` (
`klickid` INT( 11 ) NOT NULL AUTO_INCREMENT ,
`benoetigte_klicks` DOUBLE( 10, 2 ) DEFAULT '0.00' NOT NULL ,
`klickrang` VARCHAR( 20 ) NOT NULL ,
`bonus` DOUBLE( 10, 2 ) DEFAULT '0.00' NOT NULL ,
PRIMARY KEY ( `klickid` )
) TYPE = MYISAM ;




Veränderungen am Script:


In der Datei content/konto/uebersicht.php:
Suche die Zeilen
$sql = db_query("SELECT u.nickname,u.vorname,u.nachname,u.angemeldet_seit, w.werber,w.umsatz,w.gesamt,w.refback,k.kontostand, k.klicks,k.kv,k.angebettelt,k.bv FROM
".$db_prefix."_kontodaten k
LEFT JOIN ".$db_prefix."_userdaten u ON u.uid = k.uid
LEFT JOIN ".$db_prefix."_werberdaten w ON w.uid = k.uid
WHERE k.uid=".$_SESSION['uid']." LIMIT 1");
und füge
,k.rangklicks , k.klickrang
nach dem ,k.bv und vor dem FROM
ein.
Suche die Zeile
<?head("Diverse Einnahmen");?>
und füge dahinter:
<? head("Rangübersicht"); ?>
<table width="100%" border="0" cellpadding="1" cellspacing="1">
<tr>
<td align="left" width="55%">Klickrangklicks: </td><td align="left"><?=number_format($kontoinfo['rangklicks'],2,",",".").' Klicks'?></td>
</tr>
<tr>
<td align="left" width="55%">Klickrang: </td><td align="left"><?=$kontoinfo['klickrang']?></td>
</tr>
</table>
<? foot(); ?>
ein.

In der Datei /lib/menue_links.php

Suche die Zeilen
menuehead("Navigation");
?>
<ul>
<li><a href="?content=/konto/uebersicht">Kontoübersicht</a></li>
<li><a href="?content=/konto/einzahlen">Einzahlen</a></li>
<li><a href="?content=/konto/auszahlen">Auszahlen</a></li>
<li><a href="?content=/konto/buchungen">Buchungen</a></li>
<li><a href="?content=/konto/refuebersicht">Refübersicht</a></li>
<li><a href="?content=/konto/userprofil">Userprofil</a></li>
<li><a href="?content=/intern/startseite&amp;logout=true"><i>Logout</i></a></li>
</ul>
<?
menuefoot();

und füge dahinter

include ("content/klick_rang/klick_rangabgleich.php")
menuehead("Dein Klickrang"); ?>
<? $kontodaten = mysql_fetch_array(db_query("SELECT klickrang FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1")); ?>
<a href="?content=/klick_rang/uebersicht"><?=$kontodaten['klickrang'];?></a>
<?menuefoot();
ein.

Dateianpassung, damit die Aktivität gerechnet wird.

Für die Bannerklicks:
Öffne die Datei topframe_forced und suche die Zeile
refumsatz ($forced['verdienst'],$_SESSION['uid']);
füge dahinter die Zeile
db_query ("UPDATE ".$db_prefix."_kontodaten SET rangklicks = rangklicks + 1 WHERE uid = ".$_SESSION['uid']."");
ein.
Für die Textlinks:
Öffne die Datei topframe_textlinks und suche die Zeile
refumsatz ($text['verdienst'],$_SESSION['uid']);
füge darunter
db_query ("UPDATE ".$db_prefix."_kontodaten SET rangklicks = rangklicks + 1 WHERE uid = ".$_SESSION['uid']."");
ein.
Für die Paidmails:
Öffne die Datei pcheck.php und suche die Zeile
refumsatz ($mail['verdienst'],$mail['uid']);
füge darunter
db_query ("UPDATE ".$db_prefix."_kontodaten SET rangklicks = rangklicks + 1 uid = ".$mail['uid']."");
ein.

ako
25.04.2013, 10:15
also includen brauchst du die datei nicht für was auch noch da jetzt im menü der Rang Angezeigt wird und nur eine verlinkung auf die rang_abgleich.php (bsp: echo "<a href="?content=/klick_rang/uebersicht"> ".$kontodaten['klickrang']."<br />"; )

ich Denke mal das in der rang_abgleich.php auch was asgegeben wird deshalb ist es sinlos diese noch zu includen.

erik3009
25.04.2013, 10:20
Also so wie es jetzt aufgebaut ist funzt es nicht. Unter Kontodaten zählt er zwar die Klicks mit aber in der Klickrangtabelle ändert sich rein garnichts....

ako
25.04.2013, 20:13
ersetze mal den code in der klick_rang.php


<?php
// Klickrang_nach_Klicks Addon
// Version für das VMS 1.2.4
// (c) 2010 by www.lose-scripte.de
$klick_user = mysql_fetch_array(db_query ("SELECT klickrangid, rangklicks FROM ".$db_prefix."_kontodaten WHERE uid='".$_SESSION['uid']."' LIMIT 1"));
//Rang festlegen
$klick_rang= mysql_fetch_array(db_query("SELECT `klickid`,`bonus`,`klickrang` FROM ".$db_prefix."_klick_rang WHERE benoetigte_klicks <= '".$klick_user['rangklicks']."' ORDER BY klickid DESC"));
//Rang abgleichen
if ($klick_user['klickrangid'] < $klick_rang['klickid'])
{
// neuen Rang festlegen
$neuer_rang = $klick_user['klickrangid']+1;
$bonus = mysql_fetch_array(db_query("SELECT `bonus`,`klickrang` FROM ".$db_prefix."_klick_rang WHERE klickid ='".$neuer_rang."' LIMIT 1 "));
// neuen Rang eintragen und Bonus gutschreiben
db_query("UPDATE ".$db_prefix."_kontodaten SET kontostand = kontostand+".$bonus['bonus'].", klickrangid = '".$neuer_rang."', klickrang = '".$bonus['klickrang']."' WHERE uid= '".$_SESSION['uid']."'");

$buchungs_id = create_code(14);
buchungsliste ($buchungs_id,'+'.$bonus['bonus'],'Du hast einen neuen KlickRang erreicht.',$_SESSION['uid']);
}
?>