[PHP & MySQL] Das "if" wird ignoriert

Morgan Girl
Hallo (:
Ich werd noch wahnsinnig mit diesem Code, wahrscheinlich is es ein ganz dummer kleiner Fehler und ich seh nur den Wald vor lauter Bäumen nicht mehr..

Zum Problem:
php:
1:
2:
3:
4:
5:
echo $stute[Potenzial_Dr];

if($stute[Potenzial_Dr] == "X") { $stute[Potenzial_Dr] = 0; }

echo $stute[Potenzial_Dr];

Vor der if-Anweisung ist der Wert der Variablen 3. Nach der if-Anweisung 0 obwohl 3 doch gar nicht X ist und der Wert eigentlich jnur auf 0 gesetzte werden soll wenn da X steht?? Blöööööd großes Grinsen

Vielen Dank schonmal für eure Hilfe.
Melli
Hm. Vielleicht weiter oben ne Klammer oder ; oder so vergessen?
Oli
Hi,

also ich hab gerade ungläubig den folgenden Code getestet:
php:
1:
2:
3:
4:
5:
6:
<?php
$stute[Potenzial_Dr] = "3";
echo "Davor: ".$stute[Potenzial_Dr]."<br />";
if($stute[Potenzial_Dr] == "X") { $stute[Potenzial_Dr] = 0; }
echo "Danach: ".$stute[Potenzial_Dr]."<br />";
?>

und bekam dieses Ergebnis:
code:
1:
2:
Davor: 3
Danach: 3



Poste mal bitte den kompletten Code, denn der Fehler liegt vielleicht (vermutlich) woanders.

LG,
Oli
Morgan Girl
haha das wollte ich euch eigentlich nicht antun, denn achtung lang!
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:

<?php
session_start();
?>
<?php
   include('DB.php');
   $Charakter $_POST['Charakter'];
   $id $_POST['Stute'];
   $Stute $_POST['Stute'];
   $Hengst $_POST['Hengst'];
   $Stutfohlen $_POST['Stutfohlen'];
   $Hengstfohlen $_POST['Hengstfohlen'];
   $User $_SESSION["Username"];

$Charakter str_replace("\n""<br>"$Charakter);


   if($Stutfohlen=='' OR $Hengstfohlen=='' OR $Charakter=='') {
      echo "<br><b id="error">Fülle alle Felder aus!</b><br><br><br>";
$_GET[ID] = "$id";
      include('Intern/Zucht/Deckantrag.php');
include ("Footer.php");
include ("Menue.php");
      exit;
      }

$st mysql_query("SELECT * FROM Pferde WHERE ID='$Stute'");
$stute mysql_fetch_array($st);
$he mysql_query("SELECT * FROM Pferde WHERE ID='$Hengst'");
$hengst mysql_fetch_array($he);


if($User != $stute[Besitzer]) {
echo "Du bist nicht der Besitzer dieser Stute, also kannst du sie auch nicht decken lassen!";
}

$timestamp time();
$Geburtstag $timestamp 1209600;

      $array = array("Hengst""Stute");
      srand((double)microtime()*1000000);
      $zufall rand(0,1);
      $Geschlecht $array[$zufall];
if($Geschlecht "Hengst") {
$Name "Schönebergs $Hengstfohlen";
$Stockmass $hengst[Stockmass];
}
else {
$Name "Schönebergs $Stutfohlen"$Stockmass $stute[Stockmass];
}

$Mutter "<a href=\'index.php?menue=Pferde/Steckbrief.php&id=$stute[ID]\' target=blank>$stute[Name]</a>";
$Vater "<a href=\'index.php?menue=Pferde/Steckbrief.php&id=$hengst[ID]\' target=blank>$hengst[Name]</a>";


echo $stute[Potenzial_Dr];

if($stute[Potenzial_Dr] = "X") { $stute[Potenzial_Dr] = 0; } if($hengst[Potenzial_Dr] = "X") { $stute[Potenzial_Dr] = 0; }
if($stute[Potenzial_Spr] = "X") { $stute[Potenzial_Spr] = 0; } if($hengst[Potenzial_Spr] = "X") { $stute[Potenzial_Spr] = 0; }
if($stute[Potenzial_Mi] = "X") { $stute[Potenzial_Mi] = 0; } if($hengst[Potenzial_Mi] = "X") { $stute[Potenzial_Mi] = 0; }

echo $stute[Potenzial_Dr];

if($stute[Potenzial_Reining] = "X") { $stute[Potenzial_Reining] = 0; } if($hengst[Potenzial_Reining] = "X") { $hengst[Potenzial_Reining] = 0; }
if($stute[Potenzial_Pleasure] = "X") { $stute[Potenzial_Pleasure] = 0; } if($hengst[Potenzial_Pleasure] = "X") { $hengst[Potenzial_Pleasure] = 0; }
if($stute[Potenzial_Basics] = "X") { $stute[Potenzial_Basics] = 0; } if($hengst[Potenzial_Basics] = "X") { $hengst[Potenzial_Basics] = 0; }

if($stute[Potenzial_Rennen] = "X") { $stute[Potenzial_Rennen] = 0; } if($hengst[Potenzial_Rennen] = "X") { $hengst[Potenzial_Rennen] = 0; }
if($stute[Potenzial_Distanz] = "X") { $stute[Potenzial_Distanz] = 0; } if($hengst[Potenzial_Distanz] = "X") { $hengst[Potenzial_Distanz] = 0; }
if($stute[Potenzial_Kutsche] = "X") { $stute[Potenzial_Kutsche] = 0; } if($hengst[Potenzial_Kutsche] = "X") { $hengst[Potenzial_Kutsche] = 0; }
if($stute[Potenzial_HoheSchule] = "X") { $stute[Potenzial_HoheSchule] = 0; } if($hengst[Potenzial_HoheSchule] = "X") { $hengst[Potenzial_HoheSchule] = 0; }
if($stute[Potenzial_Gang] = "X") { $stute[Potenzial_Gang] = 0; } if($hengst[Potenzial_Gang] = "X") { $hengst[Potenzial_Gang] = 0; }

$Dressur ceil(($stute[Potenzial_Dr] + $hengst[Potenzial_Dr]) / 2);
$Springen ceil(($stute[Potenzial_Spr] + $hengst[Potenzial_Spr]) / 2);
$Military ceil(($stute[Potenzial_Mi] + $hengst[Potenzial_Mi]) / 2);

$Reining ceil(($stute[Potenzial_Reining] + $hengst[Potenzial_Reining]) / 2);
$Pleasure ceil(($stute[Potenzial_Pleasure] + $hengst[Potenzial_Pleasure]) / 2);
$Basics ceil(($stute[Potenzial_Basics] + $hengst[Potenzial_Basics]) / 2);

$Rennen ceil(($stute[Potenzial_Rennen] + $hengst[Potenzial_Rennen]) / 2);
$Distanz ceil(($stute[Potenzial_Distanz] + $hengst[Potenzial_Distanz]) / 2);
$Kutsche ceil(($stute[Potenzial_Kutsche] + $hengst[Potenzial_Kutsche]) / 2);
$HoheSchule ceil(($stute[Potenzial_HoheSchule] + $hengst[Potenzial_HoheSchule]) / 2);
$Gang ceil(($stute[Potenzial_Gang] + $hengst[Potenzial_Gang]) / 2);

if($Dressur == 0) {$Dressur "X";}
if($Springen == 0) {$Springen "X";}
if($Military == 0) {$Military "X";}

if($Reining == 0) {$Reining "X";}
if($Pleasure == 0) {$Pleasure "X";}
if($Basics == 0) {$Basics "X";}

if($Rennen == 0) {$Rennen "X";}
if($Distanz == 0) {$Distanz "X";}
if($Kutsche == 0) {$Kutsche "X";}
if($HoheSchule == 0) {$HoheSchule "X";}
if($Gang == 0) {$Gang "X";}

$Rasse "$stute[Rasse]";
$MM "$stute[Mutter]";
$MV "$hengst[Mutter]";
$VM "$stute[Vater]";
$VV =  "$hengst[Vater]";


include("Intern/Zucht/Farbvererbung.php");

/*
      $eintragen = mysql_query("INSERT INTO Ungeboren (`ID`, `Name`, `Rasse`, `Farbe`, `Geschlecht`, `Stockmass`, `Geburtstag`, `Charakter`, `Besitzer`, `Potenzial_Dr`, `Potenzial_Spr`, `Potenzial_Mi`,
      `Potenzial_Reining`, `Potenzial_Pleasure`, `Potenzial_Basics`, `Potenzial_Rennen`, `Potenzial_Distanz`, `Potenzial_Kutsche`, `Potenzial_HoheSchule`, `Potenzial_Gang`, `Zuechter`,
      `Mutter`, `Vater`, `Mutter_d_Mutter`, `Mutter_d_Vater`, `Vater_d_Mutter`, `Vater_d_Vater` ) VALUES ('', '$Name', '$Rasse', '$Farbe', '$Geschlecht', '$Stockmass', '$Geburtstag', '$Charakter',
      '$User', '$Dressur', '$Springen', '$Military', '$Reining', '$Pleasure', '$Basics', '$Rennen', '$Distanz', '$Kutsche', '$HoheSchule', '$Gang', '$User / ZG Schöneberg', '$Mutter',
      '$Vater', '$MM', '$MV', '$VM', '$VV' )");

      $update = mysql_query("UPDATE Pferde SET Zuchtstatus='gedeckt von $Vater', Deckdatum='$timestamp' WHERE ID='$Stute'");

      if($eintragen==true AND $update==true) {
         echo "<br><h1>Deckantrag bestätigt</h1>Deine Stute wurde von $Vater gedeckt.<br><br><br>";
         include("Pferde/Eigene.php");
      }
      else {
         echo "<br><br><b id='error'>Beim Eintragen ist ein Fehler aufgetreten.</b><br><br>";
$_GET[ID] = "$id";
      include('Intern/Zucht/Deckantrag.php');
include ("Footer.php");
include ("Menue.php");
      exit;
      }

mysql_query("INSERT INTO Bank (ID, Wert, Betrag, Beschreibung, date) VALUES ('', 'Minus', '$hengst[Decktaxe]', 'Decksprung $hengst[Name]', '$timestamp')");
mysql_query("INSERT INTO Hofkonto (ID, Wert, Betrag, Beschreibung) VALUES ('', 'Plus', '$hengst[Decktaxe]', 'Decksprung $hengst[Name]')");
*/

?>


Morgan Girl
hm wie kommts dass es funktioniert wenn ich alle if anweisungen umänder, aber nicht klappt wenn ich nur die betreffende änder? Das hatte ich nämlich probiert aber es hat nichts geholfen. versteh ich nich..

Aber dankeschön (:
Oli
Zitat:
Original von Morgan Girl
hm wie kommts dass es funktioniert wenn ich alle if anweisungen umänder, aber nicht klappt wenn ich nur die betreffende änder? Das hatte ich nämlich probiert aber es hat nichts geholfen. versteh ich nich..

Die Frage versteh ich jetzt nicht, poste mal bitte Code dazu Augenzwinkern .


Jedenfalls ist es so, dass
php:
1:
if($variable 3) ...
die Variable auf 3 setzt. Wenn das gelingt (Variable wurde 3 zugewiesen), ist das Ergebnis (in diesem Fall also immer) TRUE und der IF-Fall wird ausgeführt.

Dagegen wird bei
php:
1:
if($variable == 3) ...
überprüft, ob die Variable den Wert 3 hat. Ist dem so, ergibt sich TRUE, andernfalls FALSE.
Morgan Girl
ach was, das wusste ich gar nicht großes Grinsen man lernt nie aus (: