Editor wysiwyg e passaggio dati php mysql

  • Creatore Discussione Creatore Discussione tanaka
  • Data di inizio Data di inizio

tanaka

Nuovo Utente
13 Feb 2009
28
0
0
Salve , sto utilizzando questo bell' editor in javascript che trovate qui :

http://javascript.html.it/articoli/leggi/2269/costruire-un-web-editor-wysiwyg/7/

e più precisamente l' esempio 10 contenuto nel file .zip scaricabile proprio in fondo alla pagina .


Vorrei sapere come poter utilizzare questo editor per passare i dati inseriti in un database mysql..

Ho variato la action che ora indirizza ad un file prova.php molto semplice :

prova.php :

<?php
require_once("includes/config.php"); // includo configurazione di connessione al database


$db_connection = mysql_connect ($DBHost, $DBUser, $DBPass) OR die (mysql_error()); // connessione al database
$db_select = mysql_select_db ($DBName) or die (mysql_error()); // scelta del database

$evento = $_GET["id"];

$report = $_POST['formEditArea'];

$star = " *";
mysql_query("UPDATE calendar_events SET event_report ='$report', event_star ='$star' WHERE event_id = $evento");

?>

ma non mi và ad aggiungere i dati immessi , non funziona ..

potete aiutarmi ? come mai ??

scusate le richieste da newbie , ma in effetti .. lo sono !!

Grazie mille !!
 
ciao
prova a guardare questo, io utilizzo il form tipo small, e se guardi negli script js

WYSIWYG.attach('textarea2', small);

vedi textarea2 è quello che passi poi con $_POST['test2']

metti nl2br(stripslashes()) cosi lo vedi formattato, per metterlo nel db non servono

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
<style type="text/css">
<!--
body {
	background-color: #009900;
}

-->
</style></head>
<script type="text/javascript" src="scripts/wysiwyg.js"></script>
<script type="text/javascript" src="scripts/wysiwyg-settings.js"></script>

<script type="text/javascript">
	WYSIWYG.attach('textarea2', small); // full featured setup  
</script>


<body>
<?php
if(isset($_POST['invia'])){
	$testo=nl2br(stripslashes($_POST['test2']));
	echo "<br> $testo <br>";

}


?>

<form action="provaPerForm.php" method="post">
<textarea id="textarea2" name="test2">

</textarea>
<br>
<br>
<br>
<input name="invia" type="submit" id="invia" value="invia">
</form>

</body>
</html>

dimenticavo: per provarlo devi chiamare la pagina provaPerForm.php, o se gli cambi nome devi aggiornare l' action del form
 
Ciao Borgo e grazie infinite della tua disponibilità .

Devo ammettere però che non ho capito molto della tua risposta , me la rispieghi ?

fai riferimento a qualche file ? a qualche altro editor ?


Scusa , ma non mi è chiaro ..

Ciaus

tanaka
 
ciao
a qualche altro editor ?

a WYSIWYG
qui carico wysiwing e il js per il setting (larghezza, haltezza, tipo di barre, colore di sfondo)
<script type="text/javascript" src="scripts/wysiwyg.js"></script>
<script type="text/javascript" src="scripts/wysiwyg-settings.js"></script>
qui i tipo di tex area (io uso small, ma può essere full)

<script type="text/javascript">
WYSIWYG.attach('textarea2', small); // full featured setup
</script>

è importante perchè è collegato all'id del campo di testo, che genera l'editor

<textarea id="textarea2" name="test2"></textarea>

il nome della tesxarea "test2" è quello che poi uso nel $_POST

la differenza tra smal e full sono le opzione che hai.
in small solo alcune di formattazione del testo (grassetto, inclinato, font, size...) che comunque poi aumentare leggermete operando si setting

in full hai inoltre inserisci foto, link.... quasi come word.

io utilizzo small perchè le opzioni aggiuntive, secondo me, sono rognose
 
Uh ... grazie , ora ho capito .

Mi metto alla ricerca di wysiwyg e provo subito !!!

grazie mille !!!!!!

ps : hai qualche link ??
 
Ultima modifica:
Ciao Borgo ,

sai che non mi funziona ? non so perchè , ma non mi va a scrivere nel database . E dire che credo di aver fatto tutto giusto :

ho inserito nella pagina del form , nella head :

Codice:
<script type="text/javascript" src="scripts/wysiwyg.js"></script>
<script type="text/javascript" src="scripts/wysiwyg-settings.js"></script>

<script type="text/javascript">
	WYSIWYG.attach('textarea2', small); // full featured setup  
</script>

poi nel body :

Codice:
<form action="scrivi.php" method="post">
<textarea id="textarea2" name="test2">

</textarea>
         <p><br/>
              <input name="invia" type="submit" id="invia" value="Aggiungi Report">
        </p>
    </form>

nell' altro file di scrittura ( che ho chiamato scrivi.php) :

PHP:
<?php
require_once("includes/config.php"); // includo configurazione di connessione al database


$db_connection = mysql_connect ($DBHost, $DBUser, $DBPass) OR die (mysql_error());  // connessione al database
$db_select = mysql_select_db ($DBName) or die (mysql_error()); // scelta del database

$evento = $_GET["id"];

if(isset($_POST['invia'])){
	$testo=nl2br(stripslashes($_POST['test2']));
	$star = " *";
	mysql_query("UPDATE calendar_events SET event_report ='$testo', event_star ='$star' WHERE event_id = $evento");
	
}



?>

dove andavo a scrivere nella riga specifica in base all' id ed aggiungevo il testo nel campo event_report e una stellina nel campo event_star ..

però non riporta nulla .. non scrive nè l' uno , nè l' altro .. che può essere ?

ciao e grazie

Tanaka
 
hum .. ho forse capito ..

non riesco a passare l' id dal form ..

passare un id tramite un href è semplice , ma da un form , come si fà ?:(

grazie
 
ciao
per prima cosa togli

$testo=nl2br(stripslashes($_POST['test2']));

$testo=$_POST['test2'];

perchè se in test2 hai degli apostrofi wys aggiunge automatocamente (come è giusto per il db) le slash, se tu le togli il db può andare in pallino, usa strip e nl2br quando devi stampare a video

per seconda verifica che le varie variabili siano valorizzate

terzo
WHERE event_id = '$evento'" gli apici ad $evento
 
ciao
hai due strade, sempre che nella pagina in cui hai il form tu abbia il valore dell'id
1.
tramite campo nascosto

HTML:
<input name="id" type="hidden" value="<?php echo $valore_id; ?>">

e poi nella parte che ricevi

PHP:
if(isset($_POST['invia'])){ 
    $evento = $_POST['id']; 
    $testo=$_POST['test2']; 
//eccetera....

2.
dal tag form (ma è meglio il metodo precedente)

HTML:
<form name="pinco" action="pag_ricevi.php?id=<?php echo $valore_id; ?>" >
<!--eccetera.... -->
</form>

in tal caso

PHP:
$evento = $_GET["id"]; 

if(isset($_POST['invia'])){ 
    $testo=$_POST['test2']; 
    $star = " *"; 
   //eccetera........
 
Grazie borgo , sempre disponibilissimo .:tifoso:

Ti vorrei davvero lodare pubblicamente per la tua gentilezza e disponibilità . Ce ne fossero di persone così .:beer:

Un saluto .


Tanaka
 
un ultima cosa che non ho capito .. come posso modificare i colori in wysiwyg ??


Grazie !!! :byebye:
 
ciao, so dirti solo per la versione small.
vai su wysywyg-settings.js

small.DefaultStyle = "font-family: Arial; font-size: 12px; background-color: #FFFFFF";

e cambi il codice del colore

Ce ne fossero di persone così
ne trovi altri su mrwm: moderatori e forumisti
 
Lo sò , è un luogo comune , però calza a pennello :

" se non ci fossi bisognerebbe inventarti " .. :love:

:quote:

grazie infinite , Borgo . ;)

un salutone
 
eheheheheh .. tutta sta fatica per poi accorgermi che Safari non lo supporta .... che jella ....
 
ciao
peccato, però visto che il 95% degli utenti si suddivide quasi equamente tra ie e ff potresti sniffare il bw e se safari presentare un'area di testo normale, ma qui non saprei aiutarti. prova a postare nella sezione di js, credo che il sistema esista.
 
Grazie infinite , Borgo !

Tenterò di cercare qualcosa di compatibile . La cosa che stò facendo è orientata verso utenti che hanno quasi esclusivamente mac .

un salutone ed un ringraziamento ! :fonzie:

Tanaka
 

Discussioni simili