Bei If und ElseIf wird alles ausgeführt !

Naja also da ich bei euren Sachen da nur Fehler bekommen hab (wahrscheinlich gerade weil ich es verändert hab :D ) hab ichs anders probiert... Bin mit dem Ergebnis nun ganz zufrieden, nur hab ich den gleichen Fehler wie vorher :( Er sagt zwar nun auch ab un zu "Erfolgreich gebaut !" aber in Wirklichkeit baut er gar nix :confused: Ich komm einfach nicht auf den Fehler...

Hier nun der neue Code:
PHP:
<?php 
$Name = $userdata['user_name']; 
 
// Beginn Geld-Abfrage 
$conn = mysql_connect("localhost", "bbeclan", "Storcher"); 

if (!$conn) { 
   echo "Keine Verbindung zur DB: " . mysql_error(); 
   exit; 
} 

if (!mysql_select_db("bbeclan_02")) { 
   echo "Kann  Datenbank nicht auswählen: " . mysql_error(); 
   exit; 
} 

$sql1 = "SELECT betrag  
       FROM  Geld 
       WHERE  user_name = '$Name'"; 

$result1 = mysql_query($sql1); 
$row1 = mysql_fetch_assoc($result1); 

if (!$result1) { 
   echo "Anfrage ($sql1) konnte nicht ausgeführt werden : " . mysql_error(); 
   exit; 
} 

mysql_free_result($result1); 
$Geld = $row1['betrag']; 

// Ende Geld-Abfrage 

// Beginn PP-Abfrage 

$sql2 = "SELECT betrag  
       FROM  Pimppoints 
       WHERE  user_name = '$Name'"; 

$result2 = mysql_query($sql2); 
$row2 = mysql_fetch_assoc($result2); 

if (!$result2) { 
   echo "Anfrage ($sql2) konnte nicht ausgeführt werden : " . mysql_error(); 
   exit; 
} 

mysql_free_result($result2); 
$PPs = $row2['betrag']; 

// Ende PP-Abfrage 

// Beginn Stufen-Abfrage 

$sql3 = "SELECT Bordelle, Hooker, Clubs, Crackhouses, Weedfarms, Lager, Homies  
       FROM  Dissis 
       WHERE  Besitzer = '$Name' AND ID = $D_ID"; 

$result3 = mysql_query($sql3); 
$row3 = mysql_fetch_assoc($result3); 

if (!$result3) { 
   echo "Anfrage ($sql3) konnte nicht ausgeführt werden : " . mysql_error(); 
   exit; 
} 

mysql_free_result($result3); 

// Ende Stufen-Abfrage

// Beginn Gebäude-Abfrage 

$sql4 = "SELECT Name, Name2, kosten, PPs, kosten_round, geld_round FROM Gebäude WHERE Name = '$Gebäude' AND lvl = $Stufe "; 

$result4 = mysql_query($sql4); 
$row4 = mysql_fetch_assoc($result4); 

if (!$result4) { 
   echo "Anfrage ($sql4) konnte nicht ausgeführt werden : " . mysql_error(); 
   exit; 
} 

mysql_free_result($result4); 

// Ende Gebäude-Abfrage

$anti_cheat = $row3['$Gebäude']; 
$G_Name = $row4['Name']; 
$Gebäude2 = $row4['Name2'];
        If ($anti_cheat == $Stufe - 1) { 
            if ( $row4['kosten'] > $Geld ){ 
            echo "<center>Du hast leider nicht genug Geld !</center>"; 
            } 
             
            Else { 
            mysql_query ("UPDATE Dissis SET $G_Name = $Stufe WHERE ID = $D_ID AND Besitzer = '$Name' "); 
            $Neuer_Betrag = $PPs + $row['PPS']; 
            mysql_query ("UPDATE Pimppoints SET betrag = $Neuer_Betrag WHERE user_name = '$Name' "); 
            $Neuer_Betrag_G = $Geld-$row4['kosten']; 
            mysql_query ("UPDATE Geld SET betrag = $Neuer_Betrag_G WHERE user_name = '$Name' "); 
            echo ("$Gebäude2 Stufe $Stufe erfolgreich gebaut."); 
            } 
        } 

        ElseIf ($anti_cheat >= $Stufe) { 
            echo "<center>Bereits gebaut !</center>"; 
        } 

        ElseIf ($anti_cheat == $Stufe + 1) { 
		$Stufe2 = $Stufe - 1;
            echo "<center>Baue zuerst $Gebäude2 $Stufe2 !</center>"; 
        }
?>


EDIT: Der Parameter lautet zB
'/viewpage.php?page_id=22&Gebäude=Bordelle&Stufe=1&D_ID=27'
 
Zuletzt bearbeitet:
Wurde mein Beitrag nur Übersehen oder weiß keiner was falsch ist ? Wäre nett wenn das mal einer checken könnte... Ich weiß das is Arbeit aber ich (wirklich !!) würde das auch tun wenn ich mich gut auskennen würde :D
 
PHP:
$anti_cheat = $row3['$Gebäude'];

müsste das nicht

PHP:
$anti_cheat = $row3[$Gebäude];

heißen?

Gruß TvP.

PS: 60 Euro kannst auf mein Konto überweisen *hihi*
 
Ist es eigentlich so schwer zu entscheiden, wann welche Anführungszeichen zur Auszeichnung einer Zeichenkette benötigt werden und wann sie schlicht überflüssig sind?

Wo kommt eigentlich das $userdata['user_name'] am Anfang des Skriptes her?
 
Das ist eine Funktion die in einer anderen Datei festegelgt ist und nun hier einfach einzufügen ist. Sie gibt einfach den Namen an, mit dem man eingeloggt ist zB 'Lil-rich'



@TvP: Leider löst das das Problem nicht :( Mich kotzt es nur an, dass bei Bordell "Erfolgreich gebaut kommt, er nichts einträgt in die DB und bei Club kommt gar nix mehr ! Das kann doch nciht sein !
 
Ich sehe dich in deinen diversen Skripten dutzende Male auf $Stufe zugreifen....wo kommt diese Variable her, sie wird nirgends deklariert!

Ansonsten...bei allen SELECTs lässt du dir Fehlermeldungen ausgeben..warum nicht beim UPDATE...das würde sicher schneller Klärung verschaffen ;)
 
Zurück