Nachrichtenscript!

Hallo ich hab mal ein kleines nachrichten script gebastelt ist aber noch nicht ganz so wie ich es haben möchte deshalb stell ichs erstmal hierrein!

nachrichten.php

[php]<?php
include („…/dblogin.php“);

$sql = „SELECT
Id, Text, Title, Datum, Name
FROM
game_nachrichten WHERE Name = '“.$_COOKIE[„nutzer“]."’ ORDER BY Datum ASC LIMIT 10
";

$adressen_query1 = mysql_query($sql) or die(„Anfrage nicht erfolgreich“); // hier mach ich noch 1 abfrage raus nicht 3 wusste am anfang noch nciht das man nur 1 braucht!
$adressen_query2 = mysql_query($sql) or die(„Anfrage nicht erfolgreich“);
$adressen_query10 = mysql_query($sql) or die(„Anfrage nicht erfolgreich“);
$anzahlnachrichten10 = mysql_num_rows($adressen_query10);
?>

.:: Nachrichten ::.

<?php if ($anzahlnachrichten10 == "10"){ echo "Sie müssen erst Nachrichten löschen um neue zu empfangen!
ACHTUNG!! Wenn sie alle Nachrichten löschen werden die neuen Nachrichten die sie durch die begrenzung noch nicht lesen konnten auch gelöscht!"; } ?> <?php while ($adr = mysql_fetch_array($adressen_query1)){ ?> <?=$adr['Title']?> <?php } //while ?>

<?php if (isset ($_REQUEST["fehler"])) { echo "Fehler beim Löschen!
"; } if (isset ($_REQUEST["fehlersenden"])) { echo "Fehler beim Senden!
"; } ?> - - - - - - - - - - - - - - - - - - - - - - Alle - - - - - - - - - - - - - - - - - - - - - - <?php while ($adr = mysql_fetch_array($adressen_query2)){ ?> <?=$adr['Title']?> <?php } //while ?>

.:: Nachricht schreiben ::.



[/php]

nachrichtloschen.php

[php]<?php
$loschen = $_POST[„nachrichtloschen“];
include („…/dblogin.php“);

for($i=0; $i<1; $i++){
if ($loschen[$i] == „- - - - - - - - - - - - - - - - - - - - - -“){
header („Location: nachrichten.php“);
}
if ($loschen[$i] == „Alle“){
$sql = „DELETE FROM game_nachrichten WHERE Name = '“.$_COOKIE[„nutzer“].„'“;
mysql_query ($sql);
if (mysql_affected_rows ($connectionid) > 0){
header („Location: nachrichten.php“);
}
else{
header („Location: nachrichten.php?fehler=1“);
}
}
else{
$sql = „DELETE FROM game_nachrichten WHERE Title = ‚$loschen[$i]‘ „.“&&“." Name = ‚$nutzer‘";
mysql_query ($sql);

if (mysql_affected_rows ($connectionid) > 0){
header („Location: nachrichten.php“);
}
else{
header („Location: nachrichten.php?fehler=1“);
}
} // else
} //for
?>[/php]

nachrichtsenden.php

[php]<?php
include („…/dblogin.php“);

$sql = „INSERT INTO „.
„game_nachrichten (Name, Absender, Title, Text, Datum) „.
„VALUES ('“.$_REQUEST[„Spieler“].“‚,‘“.$_COOKIE[„nutzer“].“‚,‘“.
$_REQUEST[„Titel“].„‚,‘“.
$_REQUEST[„NText“].„', NOW())“;
mysql_query ($sql);

if (mysql_affected_rows ($connectionid) > 0){
header („Location: nachrichten.php“);
}
else{
header („Location: nachrichten.php?fehlersenden=1“);
}
?>[/php]

antworten.php

[php]<?php
$gast = $_POST[„nachricht“];
for($i=0; $i<1; $i++){

include („…/dblogin.php“);
$sql = „SELECT Id, Text, Title, Datum, Name, Absender FROM game_nachrichten WHERE Title = ‚$gast[$i]‘“;
}
$adressen_query = mysql_query($sql) or die(„Anfrage nicht erfolgreich“);
?>

<?php include ("grund.php")?>

.:: Lesen ::.

<?php while($adr = mysql_fetch_array($adressen_query)){ ?>
<?=$adr['Text']?>

.:: Antworten ::.




<?php } //klammer von while ?>
[/php]

die datenbank war

CREATE TABLE game_nachrichten (
Id INT AUTO_INCREMENT PRIMARY KEY,
Title VARCHAR(100),
Text TEXT,
Datum DATETIME,
Name VARCHAR(50),
Absender VARCHAR(50)
);

geschrieben hab ich das schon letzten monat da hats auch gefunst ich hoffe ich hab nichts vergessen!

Kritik sind erwünscht

grüße

Entweder ich kann nicht lesen oder ich versteh nicht, wo du jetzt ein Problem hast.

wäre ganz gut wenn du mal
checkuser.php
und
…/dblogin.php

zeigen würdest!

$_REQUEST sollte nicht mehr benutzt werden.
Dein HTML ist zum Teil auch sehr veraltet.
Wenn man mit Zahlen vergleicht sollten diese nicht in einem String stehen.
Ich guck bei Gelegenheit mal genauer drüber.

Wieso sollte $_REQUEST nicht benutzt werden??? Man muss das ja sogar manchmal benutzen. Das wurde ja extra eingeführt um $_GET und $_POST (und $_COOKIE) zusammen abzufragen. Ich wüsste nicht, dass es da eine neuere Variante gibt. Zumal das ja extra in PHP 4.1.0 erst eingeführt wurde!

Ups da hab ich doch ne Superglobale verwechselt.
ich benutze request nie.
Wenn man register gloabls on hat und request benutzt öffnet man eine riesige Sicherheitslücke.

Ja, aber auch nur, weil darin auch Werte aus Cookies übergeben werden. Mit ordentlicher Programmierung kann man aber die Lücke schließen und trotzdem diese Variable verwenden.

@digga

nein die zwei dateien sind nicht vom script… ich lösch es sofort wie du dir sicher denken kanst ist dblogin.php == Datenbank login, und das muss ja jeder für sich selber setzten…

das andere checkuser.php ist vom login, also auch nicht relevant, da ein nachrichtenscript ja auch nur sin macht wenn man einen nutzer hat die sicheingeloggt haben wenne verstehst was ich meine,

grund.php ist eine datei wo menu drinsteht und banner ect damit ich wenn ich dort was veränder in allen seiten das verändert wird zb einem menü punkt hinzufügen entfernen.

@Alti

warum nicht benutzen? ja ich brauche $_request, cookie, post ect weil ich ja auf off hab