Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 21:07

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Kleiner Php Fehler. Php funktioniert nicht!

Discussion on Kleiner Php Fehler. Php funktioniert nicht! within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
vbacoder's Avatar
 
elite*gold: 39
Join Date: Sep 2011
Posts: 1,198
Received Thanks: 251
Question Kleiner Php Fehler. Php funktioniert nicht!

Hi,

ich habe hier irgendwo einen Fehler gemacht aber finde Ihn als ANfänger leider nicht :S

PHP Code:
<?php
session_start 
();

    if(
$_SESSION['id'] == "") {
        die(
'Kein Account gefunden!');
    }
    else {
    
    include(
'../inc/config.php');
    
        
mysql_select_db('player');
        
    
$query mysql_query("SELECT *, SUM(`account_id`) as amount FROM player where name = '" $_SESSION['id'] . "'");
$cccc mysql_query("SELECT (`account_id`) FROM player where name = '" $_SESSION['id'] . "'");
$lasttime mysql_fetch_array($query); 
$amount $lasttime['amount']; 
$insertnew false;     

mysql_select_db('account');
        
$xxx mysql_query("UPDATE account.account SET status = 'BLOCK' where id = '$cccc'");
        
header("Location: http://****.html");

    
        
        

    exit;
    }
    
        
        



?>

Ich Danke für eure Hilfe
vbacoder is offline  
Old 03/27/2013, 11:57   #2
 
tayfe's Avatar
 
elite*gold: 104
Join Date: Jun 2010
Posts: 547
Received Thanks: 127
Es wäre noch gut, wenn du sagen könntest, was genau das Problem ist bzw. wenn es sich um etwas programmiertechnisches handelt, in welcher Zeile der Fehler liegt. So kann man jetzt erstmal nur spekulieren, da ganz schön viel falsch sein könnte wie z.B. die Tabellen- und Spaltennamen.

Was mir nur auffällt ist diese Zeile:

PHP Code:
$*** mysql_query("UPDATE account.account SET status = 'BLOCK' where id = '$cccc'"); 
Hier änderst du den Account, bei dem die ID wirklich"$cccc" ist. Da ich vermute, dass du jedoch eher die Variable $cccc nutzen willst, sollte das so aussehen:

PHP Code:
$*** mysql_query("UPDATE account.account SET status = 'BLOCK' where id = '".$cccc."'"); 
tayfe is offline  
Old 03/27/2013, 12:06   #3
 
vbacoder's Avatar
 
elite*gold: 39
Join Date: Sep 2011
Posts: 1,198
Received Thanks: 251
Das Script soll in der Datenbank mit dem Namen "player" in der Tabelle "player" die zeile mit der $_SESSION['id'] suchen (also die die im Bropwser als ?id=*** angegeben wird) und in dieser Spalte die "account_id" finden.

Anschließend nach der account_id in der datenbank "account" , tabelle "account" suchen und dort bei status ingleicher zeile ein "BLOCK" eintragen.

Es funktioniert soweit alles nur es wird kein BLOCK eingetragen.
vbacoder is offline  
Old 03/27/2013, 12:29   #4
 
Mikesch01's Avatar
 
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
So müsste es gehen:

PHP Code:
 <?php
session_start 
();

$id mysql_real_escape_string($_SESSION['id']); //wichtig!! Sicherheit!!

    
if(empty($id)) {
        die(
'Kein Account gefunden!');
    }
    else {
    
    include(
'../inc/config.php');
    
    
mysql_select_db('player');
        
    
$query mysql_query("SELECT SUM(`account_id`) as amount FROM player where name = '" $id "'");
    
$lasttime mysql_fetch_assoc($query); 
    
$amount $lasttime['amount'];

    
$cccc mysql_query("SELECT account_id FROM player where name = '" $id "'");
    
$row mysql_fetch_assoc($cccc);
    
$insertnew false;     

    
mysql_select_db('account');

    
mysql_query("UPDATE account.account SET status = 'BLOCK' where id = '"$row['account_id'] ."'");

    
header("Location: http://****.html");

    exit;
    }  
?>

Da ist ein bisschen mehr verändert. Kannst gerne mal mit dem alten Code abgleichen und die Veränderungen feststellen.

P.s ich würde die Variablen wie 'cccc' oder 'xxx' sinnvoller bennenen, den später weisst du nicht mehr, wofür die mal waren.
Mikesch01 is offline  
Old 03/27/2013, 12:39   #5
 
PseudoPsycho's Avatar
 
elite*gold: 1715
Join Date: Dec 2011
Posts: 672
Received Thanks: 207
Quote:
mysql_real_escape_string($_SESSION['id']);
Ähm, wozu soll das gut sein?
1. ID's sind für gewöhnlich Integer. Da funktioniert dann kein mysql_real_escape_string. Die richtige Funktion wäre intval().
2. Sessions werden serverseitig gespeichert. Es ist überhaupt nicht notwendig, das an dieser Stelle zu escapen.
PseudoPsycho is offline  
Old 03/27/2013, 12:49   #6
 
Mikesch01's Avatar
 
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
Quote:
Originally Posted by PseudoPsycho View Post
Ähm, wozu soll das gut sein?
1. ID's sind für gewöhnlich Integer. Da funktioniert dann kein mysql_real_escape_string. Die richtige Funktion wäre intval().
Naja, er benutzt die "id" aus der URL um den Namen abzugleichen.... Entweder der Begriff "id" ist falsch oder es wurde in der Abfrage statt "id" versehentlich "name" verwendet.

Code:
where [B]name [/B]= '" . $id . "'
Quote:
Originally Posted by PseudoPsycho View Post
2. Sessions werden serverseitig gespeichert. Es ist überhaupt nicht notwendig, das an dieser Stelle zu escapen.
Sicherheit geht für mich einfach vor. Diese Variable wurde möglicherweise vor der Zuweisung nicht geschützt (das ist natürlich jetzt spekulativ). Ich würde es aus Vorsorge trotzdem schützen
Mikesch01 is offline  
Old 03/27/2013, 12:49   #7
 
vbacoder's Avatar
 
elite*gold: 39
Join Date: Sep 2011
Posts: 1,198
Received Thanks: 251
Quote:
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user ''@'localhost' (using password: NO) in /users/block.php on line 4

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /users/block.php on line 4
Kein Account gefunden!
Naja nicht so wirklich :S
vbacoder is offline  
Old 03/27/2013, 12:52   #8
 
Cheetanatical__*'s Avatar
 
elite*gold: 0
Join Date: Mar 2012
Posts: 342
Received Thanks: 45
Das geht aus deinem Quellcode nicht hervor. Intval().
Cheetanatical__* is offline  
Old 03/27/2013, 12:53   #9
 
Mikesch01's Avatar
 
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
Naja gut, hier wird die Datenbankverbindung erst später ausgelöst, als die Variable zugeweisen wird.

Benutz statt mysql_real_escape_string einfach htmlentities oder lass es ganz weg^^
Mikesch01 is offline  
Old 03/27/2013, 12:57   #10
 
vbacoder's Avatar
 
elite*gold: 39
Join Date: Sep 2011
Posts: 1,198
Received Thanks: 251
Also was muss ich jetzt abändern das es geht ? ^^
vbacoder is offline  
Old 03/27/2013, 13:01   #11
 
Mikesch01's Avatar
 
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
PHP Code:
 <?php
session_start 
();

$id $_SESSION['id']; //das hier wurde geändert. Ist das der Name des Spielers oder die ID?!

    
if(empty($id)) {
        die(
'Kein Account gefunden!');
    }
    else {
    
    include(
'../inc/config.php');
    
    
mysql_select_db('player');
        
    
$query mysql_query("SELECT SUM(`account_id`) as amount FROM player where name = '" $id "'");
    
$lasttime mysql_fetch_assoc($query); 
    
$amount $lasttime['amount'];

    
mysql_select_db('account'); //das wurde auch verschoben 

    
$cccc mysql_query("SELECT account_id FROM player where name = '" $id "'");
    
$row mysql_fetch_assoc($cccc);
    
$insertnew false;     

    
mysql_query("UPDATE account.account SET status = 'BLOCK' where id = '"$row['account_id'] ."'");

    
header("Location: http://****.html");

    exit;
    }  
?>
Mikesch01 is offline  
Thanks
1 User
Old 03/27/2013, 13:06   #12
 
vbacoder's Avatar
 
elite*gold: 39
Join Date: Sep 2011
Posts: 1,198
Received Thanks: 251
Ne geht immernoch nicht es kommt die Ausgabe "Kein Account gefunden!"

:S
vbacoder is offline  
Old 03/27/2013, 13:10   #13
 
Mikesch01's Avatar
 
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
Was steht denn in der $_SESSION['id'] drinne?! Ein Name oder die ID als Zahl eines Spielers? Gibt es diese ID auch in der Datenbank?
Mikesch01 is offline  
Old 03/27/2013, 17:38   #14
 
vbacoder's Avatar
 
elite*gold: 39
Join Date: Sep 2011
Posts: 1,198
Received Thanks: 251
Der name steht dort
vbacoder is offline  
Old 03/27/2013, 18:56   #15

 
FUTDealer's Avatar
 
elite*gold: 0
Join Date: Jun 2011
Posts: 1,190
Received Thanks: 175
Wenn ich jetzt nichts überlesen habe, solltest du sich auch zur DB connecten(mysql_connect)
FUTDealer is offline  
Reply


Similar Threads Similar Threads
Kein Fehler in VPC aber Quest funktioniert trozdem nicht :/
11/12/2012 - Metin2 Private Server - 9 Replies
Ich habe folgende Quest : quest lager_oeffnen begin state start begin when 71009.use begin if pc.get_money > 500000 then game.set_event_flag("tresore_kaufen" ;, 1) else game.set_event_flag("tresore_kaufen" ;, 2)
Mein combat arms funktioniert nicht fehler warum?
11/10/2012 - Combat Arms - 7 Replies
HILFE Diese Meldung kommt immer und ich will wieder CA zocken doch es geht nicht!
syserr fehler --> login funktioniert nicht
08/07/2011 - Metin2 Private Server - 0 Replies
Hallo, also bei mir kommt bei Game1_2 folgender Fehler bei syserr: SYSERR: Aug 6 10:54:21 :: socket_connect: HOST 220.95.239.40:7120, could not connect. SYSERR: Aug 6 10:54:21 :: heart_idle: losing 77 seconds. (lag occured) SYSERR: Aug 6 10:54:46 :: FuncCheckWarp: Warp NPC name wrong : µµÃø¬}¥Þ¤@¼Ó SYSERR: Aug 6 10:54:46 :: FuncCheckWarp: Warp NPC name wrong : µµÃø¬}¥Þ¤@¼Ó SYSERR: Aug 6 10:54:46 :: FuncCheckWarp: Warp NPC name wrong : µµÃø¬}¥Þ¤@¼Ó ...
Kleiner Fehler. DB-Connecten will nicht ôo
06/13/2010 - Metin2 Private Server - 2 Replies
Labert mich nicht voll mit SuFu oder Google. Wenn ich was gefunden hätte würde ich nicht posten. Also sparts euch gleich ! ALso, ich hatte nach langer Zeit mit meiner Freundin mal wieder Lust nen Server zu machen. Das Problem: Ich kann nicht auf Ihre DB Connecten. Ja Port 3306 ist an ! Das Problem währe: http://img641.imageshack.us/img641/782/fehlerf.pn g
Fehler beim Laden des Designs - Aero funktioniert nicht mehr [Vista]
03/16/2010 - Technical Support - 3 Replies
Hi Ich habe ein Problem: Das Aero Design von Vista funktioniert nicht mehr. Gestern ging es noch. Leistungsindex ist 4,6 also über den benötigten 3,0. Ich habe auch schon versucht, manuell die Datei auszuwählen (Designeinstellungen -> durchsuchen). Da finde ich zwar "Aero.theme", kann diese aber nicht öffnen. Wenn ich es versuche kommt folgender Fehler: http://s10.directupload.net/images/100315/xofs5ih k.jpg Weiß jemand, woran das liegen könnte, und was ich dagegen machen kann ? lg...



All times are GMT +1. The time now is 21:07.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.