2012-04-04 12 views
0
<?php 
// Inialize session 
session_start(); 
// Check, if username session is NOT set then this page will jump to login page 
if (!isset($_SESSION['username'])) { 
header('Location: index.php'); 
} 
$online = rand(12,200); 
if($_GET['pass'] == "changethis"){ 
?> 
<font color="00c000"> 
<html> 
<head> 
<title>Premium Girls ~ Logged in</title> 
</head> 
<body> 

<p align="right">Online Users:<?php echo "$online"; ?></p><br> 

<body bgcolor="#004000"> 
<center><img src="/logo.gif"></img> 

<p>Welcome to the Admin Panel, <?php echo $_SESSION['username']; ?>. 

<br> 
<form method="post" action="newuser.php"><br> 
<center>Create a new user:<br></center> 
Username:<input type="text" name="username"><br> 
Password:<input type="password" name="password"><br> 
<input type=submit value="Create new user"> 
</form> 
<br><br> 
<div id=footer align=center>Please note we are currently under setup.</div> 
</body> 
</html></font> 

<?php 
}else{ 
?> 
<font color="00c000"> 
<html> 
<head> 
<title>Premium Girls ~ Payment Processor</title> 
</head> 
<body> 

<p align="right">Online Users:<?php echo "$online"; ?></p><br> 

<body bgcolor="#004000"> 
<center><img src="/logo.gif"></img> 

<p>Welcome to the Logged in screen, <?php echo $_SESSION['username']; ?>. Below you will see all the payments linked to your model name.</p> 

<?php 

$con = mysql_connect("localhost","devacc_yourmum","changeme123"); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db("devacc_models", $con); 

$uid = $_SESSION['username']; 
$result = mysql_query("SELECT * FROM payments WHERE model = {$_SESSION['username']}"); 

echo "<table border='1'> 
<tr> 
<th>Name</th> 
<th>Payment ID</th> 
<th>Address</th> 
<th>Nickname</th> 
<th>Email</th> 
<th>Skype</th> 
<th>CardType</th> 
<th>Model Name</th> 
<th>Country</th> 
</tr>"; 

while($row = mysql_fetch_array($result)) 
    { 
    echo "<tr>"; 
    echo "<td>" . $row['Name'] . "</td>"; 
    echo "<td>" . $row['Payment ID'] . "</td>"; 
    echo "<td>" . $row['Address'] . "</td>"; 
    echo "<td>" . $row['Nickname'] . "</td>"; 
    echo "<td>" . $row['Email'] . "</td>"; 
    echo "<td>" . $row['Skype'] . "</td>"; 
    echo "<td>" . $row['cardtype'] . "</td>"; 
    echo "<td>" . $row['model'] . "</td>"; 
    echo "<td>" . $row['country'] . "</td>"; 
    echo "</tr>"; 
    } 
echo "</table>"; 

mysql_close($con); 
?> 

<br><br><br><br><br><br> 
<div id=footer align=center>Please note we are currently under setup.</div> 
</body> 
</html></font> 


<?php 
} 
?> 

Oben ist mein Code, der mir leider einen Fehler gibt. Es soll alle Informationen aus der Zahlungstabelle in der Datenbank mit dem Benutzernamen modellieren, also wenn ich mit dem Benutzernamen "Bradandrews4" angemeldet bin und jemand eine Show von mir gekauft hat, wäre es die SELECT * FROM payments WHERE model = bradandrews4 wäre es bradandrews4, weil das ist der Benutzername, mit dem ich angemeldet bin. Um meinen Benutzernamen auszugeben, könnte ich entweder $ uid oder $ _SESSION ['username'] verwenden, aber ich bin mir nicht sicher, wie ich das in die Abfrage bringen und dann durch die Tabelle bringen soll. Jede Hilfe wäre sehr geschätzt :)SQL und PHP müssen Abfrage erhalten

-Brad

+0

Und welchen Fehler bekommen Sie? – deceze

+0

Welchen Fehler bekommen Sie? Kopieren/Einfügen es – Bono

+0

versuchen '" SELECT * FROM Zahlungen WHERE Modell = \ '{$ _ SESSION [' Benutzername ']} \' "' –

Antwort

2

Ersetzen Sie Ihre Abfrage mit diesem:

mysql_query("SELECT * FROM payments WHERE model = '" . mysql_real_escape_string($_SESSION['username']) . "'"); 
+1

Sie meinen wahrscheinlich mysql_real_escape_string. – DCoder

+0

Ja. Vielen Dank. mysql_escape_string ist ab php 5.3 veraltet. –

+0

Danke, ich habe es tatsächlich geschafft, es selbst zu sortieren, und ich werde meinen festen Code als meine Antwort veröffentlichen, um anderen zu helfen :) Ich denke, deine Antwort hätte es wahrscheinlich auch repariert :) –

2

nur legen Sie die '' um Ihre Eingabe ..?

SELECT * FROM payments WHERE model = '{$_SESSION['username']}'

wäre einfacher, den Wert einer anderen Variablen

$un = mysql_real_escape_string($_SESSION['username']); SELECT * FROM payments WHERE model = '$un'

+0

Wenn Sie meinen ursprünglichen Post gelesen haben, sagte ich, dass ich bereits eine andere Variable zugewiesen hatte die Variable $ uid aber trotzdem danke :) –

1

nur

$result = mysql_query("SELECT * FROM payments WHERE model ='".$uid."'"); 
+0

Danke, ich habe es tatsächlich geschafft, es selbst zu sortieren und ich werde posten mein fester code als meine antwort um jemand anderen aus zu helfen :) ich denke deine antwort hätte es wohl auch behoben :) –

+0

ich habe dich nicht benutzt antwort. Ich habe es selbst beantwortet. –

0

Verwenden Zitate wie aus snaderss in der Antwort um Ihre Werte schreiben zuweisen .

Alo gibt es eine Sicherheitslücke in Ihrer Sitzung validieren.

Wenn ein Browser den Standortkopf ignoriert, sieht der Benutzer Ihren Premium-Inhalt Gleiches, wenn jemand über curl() oder etwas ähnliches auf Ihre Seite zugreift.

Verwenden Sie immer exit(); oder stirb(); nachdem du umgeleitet hast.

festen Code:

if (!isset($_SESSION['username'])) { 
    header('Location: index.php'); 
    exit(); 
} 

jetzt das Skript stoppt, wenn die Umleitung

nicht
+0

Woops, habe nicht darüber nachgedacht, danke für das Korrigieren der Sicherheitslücke, indem du "exit()" hinzufügst; jetzt :) –

0
$sql = "SELECT * FROM cards WHERE model = '".$uid."' "; 
$result = mysql_query($sql); 

Vielen Dank allen, oben habe ich die 2 Zeilen habe ich geschrieben, um sich geändert haben es zum Laufen zu bringen ... Ich bin mir sicher, dass alle Ihre Beiträge das Problem behoben hätten, aber ich habe es selbst repariert ... :)

-Brad

0

Sie können diese Abfrage einfach verwenden, da sie leichter zu merken ist.

mysql_query("SELECT * FROM payments WHERE model = '{$_SESSION['user']}'");