MySQL DB Problem
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anfang
array
befragen
betreff
brauchen
code
datenbank
denken
eigeninitiative
fehler
herz
http
inhalt
melde
nachricht
problem
programmieren
versuch
zeigen
zeile
-
Hallo !
Ich habe ein Problem, nach dessen Lösung ich schon sehr lange suche ;)
Ich habe ein Skript, wo User Gruppen oder andere User melden können. Auf der Seite zum Melden, kann man einen Betreff angeben und eine Nachricht. Mein Problem ist, dass in beiden Spalten in der DB das gleiche gespeichert wird, obwohl ich unterschiedliche Sachen eingebe.
Hier das Skript zum Eingeben:
<?php $user = $_GET['user']; ?> <script type="text/javascript" language="JavaScript"> <!-- function seticon(Zeichen) { document.form.n.value = document.form.n.value + Zeichen; } //--> </script> <br><br><br><br> <br><br> <br><br> <form action="?URL=Gsenden.php" method="post" name="form"> <table border="0" id="tabelle"> <tr> <td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></td><td></td><td></td> <td><a href="javascript:seticon(' s01')"><img src="smils/s01.gif" border="0"></a></td> <td><a href="javascript:seticon(' s02')"><img src="smils/s02.gif" border="0"></a></td> <td><a href="javascript:seticon(' s03')"><img src="smils/s03.gif" border="0"></a></td> <td><a href="javascript:seticon(' s04')"><img src="smils/s04.gif" border="0"></a></td> <td><a href="javascript:seticon(' s05')"><img src="smils/s05.gif" border="0"></a></td> </tr> <tr> <td><b>Empfänger:</b></td> <td>********</td> <td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td> <td><a href="javascript:seticon(' s06')"><img src="smils/s06.gif" border="0"></a></td> <td><a href="javascript:seticon(' s07')"><img src="smils/s07.gif" border="0"></a></td> <td><a href="javascript:seticon(' s08')"><img src="smils/s08.gif" border="0"></a></td> <td><a href="javascript:seticon(' s09')"><img src="smils/s09.gif" border="0"></a></td> <td><a href="javascript:seticon(' s10')"><img src="smils/s10.gif" border="0"></a></td> </tr> <tr> <td><b>Betreff:</b></td> <td><input type="text" maxlength="15" name="b" value="<?php echo $user; ?>" size="20"></td> <td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td> <td><a href="javascript:seticon(' s11')"><img src="smils/s11.gif" border="0"></a></td> <td><a href="javascript:seticon(' s12')"><img src="smils/s12.gif" border="0"></a></td> <td><a href="javascript:seticon(' s13')"><img src="smils/s13.gif" border="0"></a></td> <td><a href="javascript:seticon(' s14')"><img src="smils/s14.gif" border="0"></a></td> <td><a href="javascript:seticon(' s15')"><img src="smils/s15.gif" border="0"></a></td> </tr> <tr> <td><b>Nachricht:</b></td> <td><textarea name="n" rows="1" cols="20"></textarea></td> </tr> <tr> <td><input type="submit" value="Nachricht senden"></td> </tr> </table> </form>
Und hier das andere Skript:
<?php $username = $_SESSION["user_nickname"]; $mail = Administrator; $vn = $_POST['b']; $pass = $_POST['n']; $Gelesen = 1; if(!isset($_POST['b']) || $_POST['b'] == ""){ }elseif(!isset($_POST['n']) || $_POST['n'] == "") { echo '<p align="center">Eine Nachricht brauchen wir schon!</p>'; }elseif($_POST['n'] != $_POST['n']) { echo '<form action="anlegen.php" method="post">'; echo '<p align="center">Sorry, eine Nachricht brauchen wir schon!'; echo '</form>'; }else{ //umlaute $pass = "$pass"; $search = array('>', '<'); $replace = array('>', '<'); $pass = str_replace($search, $replace, $pass); $pass = "$pass"; $search = array('ä', 'Ä'); $replace = array('ä', 'Ä'); $pass = str_replace($search, $replace, $pass); $pass = "$pass"; $search = array('ü', 'Ü'); $replace = array('ü', 'Ü'); $pass = str_replace($search, $replace, $pass); $pass = "$pass"; $search = array('ö', 'Ö'); $replace = array('ö', 'Ö'); $pass = str_replace($search, $replace, $pass); $vn = "$vn"; $search = array('>', '<'); $replace = array('>', '<'); $vn = str_replace($search, $replace, $vn); $vn = "$pass"; $search = array('ä', 'Ä'); $replace = array('ä', 'Ä'); $vn = str_replace($search, $replace, $vn); $vn = "$vn"; $search = array('ü', 'Ü'); $replace = array('ü', 'Ü'); $vn = str_replace($search, $replace, $vn); $vn = "$vn"; $search = array('ö', 'Ö'); $replace = array('ö', 'Ö'); $vn = str_replace($search, $replace, $vn); if($insert = @mysql_query("INSERT INTO Nachricht SET Autor = '$username', Inhalt = '$pass', user = '$mail', betreff = '$vn', Gelesen = '$Gelesen'")) { echo '<p align="center">Die Beschwerde wurde erfolgreich gesendet!<br>Es kann allerdings eine Weile dauern bis wir antworten!</p>'; }else{ echo '<p align="center">Beim senden trat leider ein Fehler auf!</p>'; } } ?>
Versteht ihr mein Problem ? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Versteht ihr mein Problem ?
Ja, dein Problem ist, dass nicht wirklich eine Ahung hast, was du tust. Das sieht man eigentlich an jedem Thread den du hier eröffnest, entweder kann man es einfach durch google herausfinden oder durch logisches Überlegen. Und Scriptdebugging ist eine grundlegende Fähigkeit beim Programmieren.
Deine "Community" wird sicherlich wahnsinnig vertrauenswürdig.
Sorry, aber das musste ich jetzt echt mal loswerden.
Dein Fehler liegt übrigens in dieser Zeile:
$vn = "$pass";
-
Ein weiterer Fehler liegt in dieser genialen Abfrage:
}elseif($_POST['n'] != $_POST['n']) {
"Wenn a ungleich a ist, dann...." -
tct schrieb:
Versteht ihr mein Problem ?
Ja, dein Problem ist, dass nicht wirklich eine Ahung hast, was du tust. Das sieht man eigentlich an jedem Thread den du hier eröffnest, entweder kann man es einfach durch google herausfinden oder durch logisches Überlegen. Und Scriptdebugging ist eine grundlegende Fähigkeit beim Programmieren.
Deine "Community" wird sicherlich wahnsinnig vertrauenswürdig.
Sorry, aber das musste ich jetzt echt mal loswerden.
Dein Fehler liegt übrigens in dieser Zeile:
$vn = "$pass";
Ok, ich werde mich bemühen, mehr Ahnung davon zu bekommen.
Hast du aber Lösungsvorschläge für mein Problem? -
Lern PHP, SQL und dann versuchs nochmal.
http://www.schattenbaum.net
Da kriegt man einen schnellen und ( für den Anfang ) ganz guten Überblick. Dann lege ich dir ans Herz, mal ein wenig Eigeninitiative zu zeigen und auch mal selbst nach zu denken und google zu befragen.
Denk mal drüber nach, wie es weiter gehen soll, wenn du so weiter machst wie jetzt. Bezahl mich, und ICH schreib dir deine Seite. Weil auf nichts anderes läuft es hier gerade hinaus:
Du lässt andere deine Seite schreiben. -
adrians schrieb:
Lern PHP, SQL und dann versuchs nochmal.
http://www.schattenbaum.net
Da kriegt man einen schnellen und ( für den Anfang ) ganz guten Überblick. Dann lege ich dir ans Herz, mal ein wenig Eigeninitiative zu zeigen und auch mal selbst nach zu denken und google zu befragen.
Denk mal drüber nach, wie es weiter gehen soll, wenn du so weiter machst wie jetzt. Bezahl mich, und ICH schreib dir deine Seite. Weil auf nichts anderes läuft es hier gerade hinaus:
Du lässt andere deine Seite schreiben.
Ich habe gerade erst angefangen, PHP zu lernen ;)
Dieses Problem hier wird vorerst das Letzte sein. Könnt Ihr mir also bitte helfen? -
Die Lösung steht in meinem Beitrag.
-
tct schrieb:
Die Lösung steht in meinem Beitrag.
In deinem Beitrag steht nur, dass der Fehler in der Zeile:
$vn = "$pass";
ist. Aber was ist der Fehler? -
bandi999 schrieb:
Hi,
du weist der Varaiablen vn (eigntlich der Betreff) den Inhalt der Veraiablen pass (Nachricht) zu bevor du sie in die Datenbank schreibst. Damit steht in der Datenban zwei mal die Nachricht.
Gruß
Manni
Vielen Dank !
Und wie behebe ich das ?
EDIT: Ich habe es schon hinbekommen. Danke allen für die Hilfe !
Beitrag zuletzt geändert: 7.2.2009 20:07:17 von davy -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage