Zur Navigation

MySQL Abfrage mit Variable vergleichen, nix geht mehr

1 PH_per (Gast)

Hallo,
ich habe ein Script gebastelt das von einer Webseite was abziehen und auf einer anderen Webseite was zurechenen soll. Nur leider harpert es an einer Abfrage wo eine Variable und ein Datenbankeintrag verglichen werden sollen. Durch Codesnippets ist das doof zu erklären deswegen ist hier mal das ganze Script:
html>
	<head>
		<title>c2b-Transfer</title>
		
	</head>
	<body background="transbg.jpg" bgcolor="#000000">
	<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
		<center>
			<table border="2" width="400" height="150" bgcolor="#000000">
					<center><u><b><font color="White">Credits => Blaue Energie</font></b></u></center><br />
				<td>
					<center><form action="credits2bluenergy.php" method="post">
						<input type="hidden" value="Bereit" name="eingabe">
						<input type="text" value="GameID" name="gameID"><br />
						<input type="text" value="Active-Nick" name="acNick"><br />
						<input type="text" value="In-Game Nickname" name="inNick"><br />
						<input type="submit" value="Transfer durchf&uuml;hren"><br />
						<input type="checkbox" value="Sicher" name="Sichercheck"><font color="Yellow"><b><u>Sicher?</font></b></u><br />
					</form>
					<font color="#00fff6">Transfer kann nicht r&uuml;ckg&auml;ngig gemacht werden!</font></center>
				</td>
			</table>
		</center>
	
	<body>
<html>
<?php
//Datenbank mit den Credits
	if(isset($_POST['eingabe'])){
	
		if(isset($_POST['Sichercheck'])){
		
			if($_POST['gameID'] != "GameID"){
			
				if($_POST['acNick'] != "Active-Nick"){
				
					if($_POST['inNick'] != "In-Game Nickname"){
						
						//Filter gegen MySQL Injektionen
						$GameIDFilt1 = mysql_escape_string($_POST['gameID']);
						$ActiveNickFilt1 = mysql_escape_string($_POST['acNick']);
						$InNickFilt1 = mysql_escape_string($_POST['inNick']);
						
						//Filter gegen HTML Angriffe
						$GameID = htmlentities($GameIDFilt1);
						$ActiveNick = htmlentities($ActiveNickFilt1);
						$IngameNick = htmlentities($InNickFilt1);
						
						/*Saubere Outputs
						$GameID
						$ActiveNick
						$IngameNick
						*/
						
						//Vorbereitung auf die Abfragen
						//Homepage
						$HFindID = "SELECT userID FROM wcf1_user WHERE username = '".$ActiveNick."'";
						$HFindGameID = "SELECT userOption102 FROM wcf1_user_option_value WHERE userID = '".$ActiveID."'";
						$HCreditpruefung = "SELECT userOption74 FROM wcf1_user_option_value WHERE userID = '".$ActiveID."'";
						$HCreditabziehen = "UPDATE wcf1_user_option_value SET userOption74 = ".$AnzahlAbzug." WHERE userID = ".$ActiveID."";
						
						//Game
						$GNickUndIDAbf = "SELECT * FROM uni1_users WHERE username = ".$IngameNick."";
						$GEnergyDazu = "UPDATE uni1_users SET darkmatter = ".$AnzahlDazu." WHERE id = ".$PlayerID."";
						
						//Verbinde zu DB 1
						mysql_connect("localhost", "USER", "PASSWORT") or die(mysql_error());
						mysql_select_db("DATENBANK") or die(mysql_error());
						
						$ActiveID = mysql_query($HFindID) or die(mysql_error());
																		
						//Schreibt die ID in $ActiveID
						if(mysql_num_rows($ActiveID) != 1){
							echo "<font color='red'>Der User scheint nicht zu existieren!</font>";
						}
						else
						{
													
							$ActiveID = mysql_fetch_assoc($ActiveID);
							//UserID in $ActiveID['userID']
							
							
							$ActiveGameID = mysql_query($HFindGameID);
							
							//Schreibt die GameID in $GMID
							
							$ActiveGameID = mysql_fetch_assoc($ActiveGameID);
							//GameID in $ActiveGameID['userOption102']);
														
							if($GameID == $ActiveGameID['userOption102']){
								echo "<font color='green'>Transfer durchgeführt!</font>";
								
							}
							else
							{
								echo "<font color='red'>Fehler beim Transfer!</font>";
								echo  "*".$GameID."*";
							}
							
							
						}
						
					}
					else
					{
						echo "<font color='red'>Du hast keinen In-Game Nicknamen angegeben!</font>";
					
					}
				
				
				}
				else
				{
					echo "<font color='red'>Du hast kein Active-Nicknamen angegeben!</font>";
				
				}
			
			
			}
			else
			{
				echo "<font color='red'>Du hast keine GameID angegeben!</font>";

			}
	
		}
		else
		{
			echo "<font color='red'>Anscheind bist du doch nicht sicher!</font>"; 
		}

	}

Das Probelm ist nun das er beim Vergleichen immer auf den Else-Block springt und ich den Array (mit einem Eintrag) nichtmal via Echo aufrufen kann. Wo liegt der Fehler?

15.08.2011 23:03

2 Jörg Kruse

<body background="transbg.jpg" bgcolor="#000000">

Welche Farbe hat denn transbg.jpg - auch schwarz? So wirst du keine Ausgabe mit der Standardtextfarbe schwarz sehen können; beispielsweise:

                        mysql_connect("localhost", "USER", "PASSWORT") or die(mysql_error());
                        mysql_select_db("DATENBANK") or die(mysql_error());
                        
                        $ActiveID = mysql_query($HFindID) or die(mysql_error());

Nach einem die() wird ein Script auch beendet.

Im Quelltext wirst du diese Fehlermeldungen dann aber sehen können.

16.08.2011 10:55

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]