Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
PHP Hilfe!!!
#1
Hallo,
ich habe ein Problem und zwar habe ich mehrere Dateien, die per include in einer Datei zusammengefasst werden, diese Datei wird dann (nur noch) per einem include in jede andere (Text)Seite gepackt -- der Einfachheit halber...

Nun habe ich da eine Datei, die dort überall per include eingefügt wird:
PHP-Code:
<?php
mysql_connect
(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx);
mysql_select_db(xxxxxxxxxx);

/*Angriff*/
$uid3985 $mybb->user['uid'];
$angriff5280 mysql_query("SELECT id, time FROM game_tangriff WHERE aid = '$uid3985'");
$menge5280 mysql_num_rows($angriff5280);
if(
$menge5280 != 0)
{
    while(
$row5280 mysql_num_rows($angriff5280))
    {
        
$vid5280 $row5280['id'];
        
$time115280 $row5280['time'];
        
        
$angriff5281 mysql_query("SELECT planetname, username FROM game_user WHERE id = '$vid5280' LIMIT 1");
        while(
$row5281 mysql_fetch_array($angriff5281))
        {
            
$planetname5821 $row5281['planetname'];
            
$username5821 $row5281['username'];
        }

        
$time5280 zeitformat($time115280);
        echo(
"Sie werden von $username5821 ($planetname5821) in $time5820 angegriffen!<br />");
    }
}
/*END Angriff*/
?>

Die Funktion zeitformat wird aus einer anderen Datei ge-include-t (xD):
PHP-Code:
function zeitformat($sekundenzahl)
{
  
$sekundenzahl abs($sekundenzahl); // Ganzzahlwert bilden

  
return sprintf("%d Tage %02d:%02d:%02d",
                
$sekundenzahl/60/60/24,($sekundenzahl/60/60)%24,($sekundenzahl/60)%60,($sekundenzahl)%60);


wenn ich nun eine Seite (die mit dem einen include) hat das laden gar kein ende!?

Wo ist der Fehler?

Soll ein stark vereinfachtes browsergame werden, nicht das ihr euch wundert--$angriff...

Danke schomal
Bimon
[Bild: Nirgendssicher.jpg]
Zitieren
#2
Ich versteh es jetzt nicht ganz was du meinst, aber ich hab verstanden das du zwei dateien so includen willst:
PHP-Code:
<?php
include 'Seite1.php';
include 
'Seite2.php';
?>

Aber das klappt nicht und du kriegst nur die Seite 1 angezeigt wenn ich es richtig verstehe.
Vieleicht musst du ja bei der 1Seite das
PHP-Code:
<?php ?>
weglassen da die Datei ja includet wird und der server genau das liest also als zweimal.
Vieleicht musst du es so machen:
Index:
PHP-Code:
<?php
include 'Seite1.php';
include 
'Seite2.php';
?>

Seite 1
PHP-Code:
mysql_connect(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx);
mysql_select_db(xxxxxxxxxx);

/*Angriff*/
$uid3985 $mybb->user['uid'];
$angriff5280 mysql_query("SELECT id, time FROM game_tangriff WHERE aid = '$uid3985'");
$menge5280 mysql_num_rows($angriff5280);
if(
$menge5280 != 0)
{
    while(
$row5280 mysql_num_rows($angriff5280))
    {
        
$vid5280 $row5280['id'];
        
$time115280 $row5280['time'];
        
        
$angriff5281 mysql_query("SELECT planetname, username FROM game_user WHERE id = '$vid5280' LIMIT 1");
        while(
$row5281 mysql_fetch_array($angriff5281))
        {
            
$planetname5821 $row5281['planetname'];
            
$username5821 $row5281['username'];
        }

        
$time5280 zeitformat($time115280);
        echo(
"Sie werden von $username5821 ($planetname5821) in $time5820 angegriffen!<br />");
    }
}
/*END Angriff*/ 

Seite 2
PHP-Code:
function zeitformat($sekundenzahl)
{
  
$sekundenzahl abs($sekundenzahl); // Ganzzahlwert bilden

  
return sprintf("%d Tage %02d:%02d:%02d",
                
$sekundenzahl/60/60/24,($sekundenzahl/60/60)%24,($sekundenzahl/60)%60,($sekundenzahl)%60);


Kannste ja ausprobieren
Sorry falls ich dich eventuell falsch verstanden hab
Sapd
Eine Arbeit ist nie vollendet, es gibt immer was zu verbessern
Zitieren
#3
naja eigentlich nicht aber np könnte mir auch weiter helfen, aber muss die function nicht definiert werden, befor sie aufgerufen wird?
[Bild: Nirgendssicher.jpg]
Zitieren
#4
das mit <?php weglassen hab ich grad mal ausprobiert; es muss da stehen, sonst wird es als ganz normaler text im html format an den client übergeben


Ich hab ja vorher auch schon so ein bisschen rumprobiert, zwischendurch kam der fehler Fatal Error: function zeitformat() cannot redeclare oder so. Das hab ich mal nachgeschlagen: kommt wenn eine function in irgendeiner form doppelt definiert wird.
[Bild: Nirgendssicher.jpg]
Zitieren
#5
Bimon schrieb:das mit <?php weglassen hab ich grad mal ausprobiert; es muss da stehen, sonst wird es als ganz normaler text im html format an den client übergeben

achso ok ich hab es noch nciht getestet


Bimon schrieb:naja eigentlich nicht aber np könnte mir auch weiter helfen, aber muss die function nicht definiert werden, befor sie aufgerufen wird?

Welche funktion meinst du

Und benutze nächstes mal die edit funktion
Sapd
Eine Arbeit ist nie vollendet, es gibt immer was zu verbessern
Zitieren
#6
jo sorry ich meine die funktion zeitformat() du hast das jetzt so gemacht:
PHP-Code:
include 'seite1.php';
include 
'seite2.php';

seite1.php funktion wird aufgerufen
seite2
.php funktion wird definiert 
also stimmt da die reihenfolge nicht, oder ist das egal?
[Bild: Nirgendssicher.jpg]
Zitieren
#7
Aber die Funktion wird doch schon im seite2.php aufgerufen und deklinirt, also bei include wird ja alles reingemacht:
Sapd
Eine Arbeit ist nie vollendet, es gibt immer was zu verbessern
Zitieren
#8
Ja aber der include von seite2.php, wo die funktion definiert ist, kommt ja nach dem include, wo die funktion schon abgefragt wird.

Das alles reingepackt wird weiß ich, aber die reihenfolge setzt man ja durch die reihenfolge der includes fest--
Der Inhalt von seite1.php wird zuerst ausgeführt, danach der Inhalt von seite2.php, da PHP doch von oben nach unten auswertet, oder nicht?
[Bild: Nirgendssicher.jpg]
Zitieren
#9
Sobald ich weis von oben nach unten das ist ja auch das efektivste genauso wie in HTML.
Sapd
Eine Arbeit ist nie vollendet, es gibt immer was zu verbessern
Zitieren
#10
Sollte die Zeile
PHP-Code:
while($row5280 mysql_num_rows($angriff5280)) 
nicht so aussehen?
PHP-Code:
while($row5280 mysql_fetch_array($angriff5280)) 

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren