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

Tinymce

commander

Neues Mitglied
Hallo Zusammen

In meiner Newsseite, hab ich Tinymce eingebunden.
Dies konnte ich noch selbst erledigen.
Wie bekomme ich den Text, denn ich eingebe in meine MYSQL Datenbank?
Irgentwie Blick ich nicht ganz durch.
 
Das musst jetzt mit php machen...also dein Tinymce ist Teil eines Formulares. Wenn das abgeschickt wird musst du die Daten mittels php in der SQL-DB speichern.
 
Nach dem TinyMCE-JavaScript folgt ein HTML-Formular mit textarea-Tag. Mit Hilfe dessen name-Attribut kannst du den Inhalt des Textfeldes nach Abschicken des Formulars mit einer serverseitigen Scriptsprache wie PHP verarbeiten.

HTML:
<form method="post" action="verarbeitungsdatei.php">
<textarea name="content" style="width:100%">
</textarea>
</form>
=>
PHP:
<?php
$textfeldinhalt = $_POST['content'];

/* ... weitere Verarbeitung ... */
?>
 
Danke für die schnellen Antworten

Also:
tiny.php
HTML:
...
<form method="post" action="senden.php" name="formular">

            <textarea id="elm1" name="elm1" rows="15" cols="80" style="width: 80%">
                
            </textarea>
    
        <input type="submit" name="senden" value="senden" />
        <input type="reset" name="reset" value="Reset" />
        

</form>
...

senden.php
PHP:
...
echo(stripslashes($_POST['elm1']));

$sql="INSERT INTO test ('id', `elm1`) VALUES (NULL, '$_POST[elm1]')";
echo $sql;
$result = mysql_query ($sql);
...

Nun, ich weiss, dass ich beim senden.php irgentetwas nicht stimmt. Wie müsste der Code im senden.php sein, um es in die db zu speichern?

Ich bin noch Anfänger :S
 
Etwas mehr Inhalt aus der senden.php wäre gut.

Besteht sicher eine Verbindung zur Datenbank?

Versuche mal das:

PHP:
$elm1 = stripslashes($_POST['elm1']);
echo $elm1;

$sql="INSERT INTO test ('id', `elm1`) VALUES (NULL, '{$elm1}')";
echo $sql;
$result = mysql_query ($sql) or die(mysql_error());
Kommt ein MySQL-Error? ... welcher?
 
Etwas mehr Inhalt aus der senden.php wäre gut.

senden.php
PHP:
<?php 
  ob_start();
session_start (); 
if (!isset ($_SESSION["user_id"])) 
{ 
  header ("Location: index.php"); 
}
// echo "Wert : " . $_POST;

$connectionid = mysql_connect ("localhost", "****", "****"); 
if (!mysql_select_db ("LoginSystem", $connectionid)) 
{ 
  die ("Keine Verbindung zur Datenbank"); 
} 

$elm1 = stripslashes($_POST['elm1']);
echo $elm1;

$sql="INSERT INTO test ('id', `elm1`) VALUES (NULL, '{$elm1}')";
echo $sql;
$result = mysql_query ($sql) or die(mysql_error());  




 header("Location: index.php");
  ob_end();
?>
Ich hab dein Vorschlag mal probiert. Nun kommt folgendes:
test: TEXT
INSERT INTO test ('id', `elm1`) VALUES (NULL, 'test: TEXT
')You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''id', `elm1`) VALUES (NULL, 'test: TEXT
')' at line 1
 
Zuletzt bearbeitet:
Feldnamen stehen nicht in einfachen Anführungszeichen, sondern in Backticks.

PHP:
$sql="INSERT INTO test (`id`, `elm1`) VALUES (NULL, '{$elm1}')";

Nach header('Location ... ')-Aufrufen immer ein exit, weil das PHP-Script unter Umständen stumpf weiterläuft.

Wozu der Output-Buffer?

stripslashes sollte nur im Zusammenspiel mit Magic Quotes eingesetzt werden.

PHP:
if (get_magic_quotes_gpc()) {
    $_POST['elm1'] = stripslashes($_POST['elm1']);
}

Das Script ist anfällig für SQL-Injections. Nutze mysql_real_escape_string oder je nach Datenbanktreiber eine andere Funktion.
 
PHP:
$elm1 = stripslashes($_POST['elm1']);
echo $elm1;

$sql="INSERT INTO test (id, elm1) VALUES (NULL, '{$elm1}')";
echo $sql;
$result = mysql_query ($sql) or die(mysql_error());  

 header("Location: index.php");
  ob_end();
  exit();
?>
Habs nun so und es geht jetzt.
Danke für die schnelle Hilfe!!!
 
Zurück
Oben