ForumübersichtPHP & MySQL

Denkfehler in meinem PN System - Seite 1

Einloggen
Benutzername:
Passwort:

Passwort vergessen?
Kostenlos
Anmelden
Geschlossen
AutorText


zerfleischer
Super-Moderator



Punkte: 7884
also hatte ja schon gesagt das ich mein eigenes pn system mache nur haut das nicht so ganz hin
entweder dencke ich falsch oder irgendwas ist falsch

also wenn ich eine pn an jemanden schicke dann seh ich diese und er auch
obwohl ich sage das alle zeilen die to_id << haben, angezeigt werden sollen

ich zeige mal den code

id und user wird übergeben (user zu dem es gehen soll)
mail_eintragen.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<? 
include "config.php";  
$id $_GET["id"];
$user $_GET["to_user"];
$reihe=mysql_fetch_array(mysql_query("SELECT user FROM user WHERE id='$_SESSION[id]'")); 

echo 
"<form action=\"mail_schreiben.php\" method=\"GET\" style=\"margin:0px\"> 
<input type=\"hidden\" name=\"to_id\" value=\"
$id\">
<input type=\"hidden\" name=\"to_user\" value=\"
$user\">
<input type=\"hidden\" name=\"from_user\" value=\"
$reihe[user]\">

Betreff: <input type=\"text\" name=\"subject\" value=\"\"><br> 

Nachricht: <input type=\"text\" name=\"text\" value=\"\"><br> 

<input type=\"submit\" value=\"Senden\" style=\"width:100px\">
</form>"
;
?>



mail_schreiben.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?
include "config.php";
include 
"session.php";
$subject $_GET["subject"];
$from_id $_SESSION["id"];
$from_user $_GET["from_user"];
$to_id $_GET["to_id"];
$to_user $_GET["to_user"];
$text $_GET["text"];
$timestamp $_GET["timestamp"];

$eintrag "INSERT INTO pns (subject, from_id, from_user, to_id, to_user, text, timestamp) 
VALUES ('
$subject', '$from_id', '$from_user', '$to_id', '$to_user', '$text', '$timestamp')";
$eintragen mysql_query($eintrag);
?>
<a href="show.php">Weiter</a>


und zu letzt die ausgabe

show.php
1
2
3
4
5
6
7
8
9
10
<?  
include "config.php";  
$query=mysql_query("SELECT * FROM pns WHERE to_id = $_SESSION[id] ORDER BY id asc"); 
while(
$eintrag=mysql_fetch_array($query)){ 
$datum=date("d.m.Y H:i"$eintrag[time]); 
echo 
'Von: '.$eintrag[from_user].' Betreff: '.$eintrag[subject].'<br>
 Nachricht:<br><font color="#000000">'
.$eintrag[text].'</font><br><center> Antworten</center><br>____________________________________________________________<br>
'


?>


problem ist auch inner datenbank da seh ich ja was nicht funzt aber irgendwie wenn ich mir den code dann wieder anschaue ist der richtig ;( also irgendwie doof




<editiert am 24.02.08 um 17:46>


Die Gymnasiasten sind so blöd.... die rechnen mit Buchstaben


ntmb
Admin



Punkte: 13700
Hm,
mit sowas kann man mehr anfangen Smily NR:8

Wieso deklarierst du eigentlich extra Variablen für $_GET und $_POST Elemente, du könntest diese doch direkt verwenden.

Ich würde lieber Singlequotes verwenden, als Doublequotes.
Vielleicht hilft dir das weiter zu diesen Thema?
http://www.ntmb.de/tutorials/schnipsel_view_201.html

@mail_eintragen.php:
Beim mysql_query ($reihe) würde ich ein Limit 1 setzen.

@mail_schreiben.php
Der mysql insert query könnte Fehler haben, da hier vielleicht durch ' ein Fehler/Sicherheitslücke besteht.
Guck mal hier nach, dass müsste dir weiterhelfen:
http://de2.php.net/addslashes

@show.php
Was du oben in den anderen mit Doublequotes besimmt hast, würde ich auch beim Rest machen:
$_SESSION[id] -> $_SESSION['id']
Aber wie gesagt besser mit Singlequotes.
Bei der Mysql Abfrage werden alle Spalten (*) ausgeben, es macht aber mehr Sinn nur die bestimmten Fehler aufzulisten, egal ob es alle Spalten sind.

Wenn du die Schönheit-/Fehler abgearbeitet hast, dann können wir ja mal weiter gucken ob der Fehler besteht. Smily NR:7

Wäre dann auch gut, wenn du die neuen Sachen posten würdest, so kann mann besser draufeingehen Smily NR:8

mfg Eugen

Der freundliche Admin aus der Nachbarschaft
Lachecke.de - Dein täglicher Lacher im Internet
Listrank.de - Die ultimative Topliste nach Themen


zerfleischer
Super-Moderator



Punkte: 7884
also das senden funzt jetzt
nurnoch ne kleine frage

also ich will ne ganz bestimmte zeile auslesen aber dazu soll die session id auch da sein

heist wenn die session id ich sage mal 1 ist dann soll er die get id auslesen aber auch nur wenn die session id stimmt

wie kann ich das realisieren?


Die Gymnasiasten sind so blöd.... die rechnen mit Buchstaben


ntmb
Admin



Punkte: 13700
Hm naja,

du hast ja zu jeder PM -> Nachricht doch eine ID zugewissen - Primärschlüssel, richtig?

Du hast ja auch dort abgespeichert in der Datenbank den Absender und den Empfänger?


Bestimmte Nachrichten-ID mit Limit 1 Smily NR:7 wird ausgeben, mit allen relevanten Daten, wie Titel, Nachrichten, Datum, Empfänger,....

Dann machst du einfach eine If-Abfrage
Id wird ausgelesen, dann wird einfach überprüft, ob ich mit meiner User-id -> 1 = Empfänger bin, wenn es dann der Fall ist, dann wird die Nachricht angezeigt.

mfg Eugen

Der freundliche Admin aus der Nachbarschaft
Lachecke.de - Dein täglicher Lacher im Internet
Listrank.de - Die ultimative Topliste nach Themen


zerfleischer
Super-Moderator



Punkte: 7884
ich sollte mal wieder ans tageslicht gehen Smily NR:7
nur bin ich im mom alleine und wenn hier was am drucken ist oder tel klingelt und ich nicht da bin gibbet uffem deckel ;(


passe gerade auf ne verbindung auf und das die telephone funzen ;( urst langweilig
weil die immer funzen auch bei den anderen aber ;( des doofe ist das ich nur dummer manschafter bin und hier nicht sagen kann das der oberfeld halt mal hier bleibt aber naja

also was ich sagen wollte

danke eugen hat so geklapt Smily NR:7
hatte da nen denkfehler
aber dadurch das du es mir gesagt hast funzt es nun Smily NR:7

habe dazu auch noch gemacht das wenn ich die geschrieben habe das er die auch anzeigt Smily NR:7

also so halt Smily NR:7

danke danke pn system funzt nun endlich so wie ich es will Smily NR:7

jetzt mach ich den feinschliff





Die Gymnasiasten sind so blöd.... die rechnen mit Buchstaben
Geschlossen