• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Fehler bei eintragen in MySQL

DD-Stylz

Neues Mitglied
Hallo,

also ich komme i-wie nicht weiter habe ein ganz kleines (Rohbau) Gästebuch script für ei8n Userprofil gemacht und alles wird in die Tabelle eingetragen also, wer gepostet hat, bei wem er es gemacht hat, die IP und das datum nur der Text wird nicht eingeschrieben und ich weiss net wieso.

Hier mein PHP Codeabschnitt
PHP:
$entry = $_POST['gbentry'];
      $entry = nl2br(htmlspecialchars($entry));
      $posterip = getenv("REMOTE_ADDR");
      $poster = $_SESSION['UserID'];
      $profiluser = $row_prof['userid'];
      mysql_query("INSERT INTO $gb_tbl VALUES ('', NOW(), '$profiluser', '$poster', '$posterip', '$entry' )");

MySQL tabelle

PHP:
CREATE TABLE IF NOT EXISTS `guestbook` (
  `GBID` int(11) NOT NULL auto_increment,
  `Datum` datetime NOT NULL,
  `Empfaenger` varchar(15) NOT NULL,
  `Absender` varchar(15) NOT NULL,
  `AbsenderIP` varchar(20) NOT NULL,
  `Eintrag` text NOT NULL,
  PRIMARY KEY  (`GBID`),
  FULLTEXT KEY `Eintrag` (`Eintrag`)
)


kann mir da jmd weiterhelfen ??


ahja bevor ich noch einen Theard aufmache wollte ich noch fragen wie ich es hinbekomme das der Kursor bei Textarea immer am Anfang ist oder am Ende des Textes, wenn man drauf klickt.
 
Werbung:
Werbung:
@ Asterixus Da KOmmt keine Fehlermeldung.

PHP:
      mysql_query("INSERT INTO $gb_tbl VALUES ('', NOW(), '$profiluser', '$poster', '$posterip', '$entry' )");
      mysql_error(); 
echo mysql_error(); habe ich auch versucht, selbe Ergebnis
@thummy

meinst du so
PHP:
echo $_SERVER['QUERY_STRING'];
???
 
Hmmm kommt nix raus.

Hier mal der "ganze" script

PHP:
$content = "<div class='entry'><form action='profil.php?userid={$row_prof[userid]}&' method='POST'>
                    <textarea name='gbentry' rows='10' cols='60' style='background: transparent; border: 1px solid #000000;'>
                    </textarea>
                    <input type='submit' value='Eintragen' >
                  </form></div>";
$entry = $_POST['gbentry'];
$entry = nl2br(htmlspecialchars($entry));
$posterip = getenv("REMOTE_ADDR");
$poster = $_SESSION['UserID'];
$profiluser = $row_prof['userid'];
      mysql_query("INSERT INTO $gb_tbl VALUES ('', NOW(), '$profiluser', '$poster', '$posterip', '$entry' )");
 
Werbung:
Ups, da war ich jetzt etwas neben der Spur. Du baust ja erst gar keinen extra String auf, sondern bastelst das innerhalb der mysql_query()-Funktion zusammen. Wo hast du denn das
Code:
echo $entry;
eingefügt? Wenn du das nach dem füllen der Variablen eingefügt hast, und es kommt nüscht bei raus, dann heißt das, dass die Variable $_Post['gbentry'] wohl nicht gefüllt ist. Das könnte der Fall sein, dass Dein Textfeld im Formular anders heißt.

Gruß thuemmy
 
Zuletzt bearbeitet:
jop Habs danach eingefügt, emm im meinen verherigen Post kannst du den Teaxareabereich sehen da steht der name


€dit:

LöL

Habe was ineressantes rausgefunden

wenn ich
hier
PHP:
<form action='profil.php?userid={$row_prof[userid]}&' method='POST'>
das

PHP:
action='profil.php?userid={$row_prof[userid]}&'
durch

PHP:
action=''
ersetzte wird der alles eingetragen, jedoch wenn ich "profil.php" oder i-was anderes hinschreibe wirds nicht eingetragen oO
 
Zuletzt bearbeitet:
wenn ich
hier
PHP:
<form action='profil.php?userid={$row_prof[userid]}&' method='POST'>
das
PHP:
action='profil.php?userid={$row_prof[userid]}&'
durch
PHP:
action=''
ersetzte wird der alles eingetragen, jedoch wenn ich "profil.php" oder i-was anderes hinschreibe wirds nicht eingetragen oO
Geht das überhaupt? Ich meine das {$.....
versuch mal
HTML:
action='profil.php?userid=<?=$row_prof[userid];?>'
bzw, wenn es in einer PHP Ausgabe ist:
PHP:
$ausgabe = "<form action='profil.php?userid=".$row_prof[userid]."' method='POST'";
 
Werbung:
ich würde zu allererst escapen lernen, oder sehehn, dass ich solche fälle elegant umgehe:

PHP:
echo '<form action="profil.php?userid='.$row_prof['userid'].'" method="POST">';

Nils aka XraYSoLo
 
ich würde zu allererst escapen lernen, oder sehehn, dass ich solche fälle elegant umgehe:

PHP:
echo '<form action="profil.php?userid='.$row_prof['userid'].'" method="POST">';
Nils aka XraYSoLo


hast wahrscheinlich Recht, nur funktionierts immer noch net ^^

PHP:
      $content = '<div class="entry"><form action="profil.php?userid=' . $row_prof['userid'] .'" method="POST">' .
                 '<textarea name="gbentry" rows="10" cols="60" style="background: transparent; border: 1px solid #000000;">' .
                 '</textarea>' .
                 '<input type="submit" value="Eintragen">' .
                 '</form></div>';
jetzt ist mir grade noch aufgefallen dass wenn ich action leer lasse er immer 2 Einträge macht der erste ohne Text der 2te mit Text.



Ich glaube ich schreibe mir das Script ganz neu und anders strukturiert vllt. klapts dann
 
Werbung:
Was ich mich schon seit gestern frage, ob das überhaupt funktionert, dass ich einerseits die methode="POST" festlege, auf der anderen Seite aber über action-Aufruf Parameter mitgebe?

Gruß thuemmy
 
ich hab' mehrere scripte auf diese weise laufen, es geht.
man kann ja einerseits auf den parameter verweisen und zusätzlich noch daten per POST-methode weitergeben.

Nils aka XraYSoLo
 
Was ich mich schon seit gestern frage, ob das überhaupt funktionert, dass ich einerseits die methode="POST" festlege, auf der anderen Seite aber über action-Aufruf Parameter mitgebe?

Gruß thuemmy


die Parameter sind nur dazu dass der Poster nach dem Eintragen auf das Profil des Users von vorhin zurückgeführt wird.

Habe selbst auch andere scripts die so laufen.


könnt es vllt. an xampp liegen?
 
Zuletzt bearbeitet:
Werbung:
kann ich dass vllt i-wie noch anders lösen?

aktion diente bei mir nur zu weiterleitung aufs Profil.

Kann möglicherweise es i-wie so machen dass wenn man auf eintragen klickt man weitergeleitet wird zu dem Profil?
 
Zurück
Oben