Problema modificazione topic

Frank10

Utente Attivo
4 Mar 2011
190
1
18
Ciao a tutti,
La situazione che non mi riesce è la seguente, io ho un file chiamato "primo.php" che dovrebbe svolgere il compito di farmi visualizzare il texteditor nella textarea ed a seconda di ciò che scrivo convertire in html e mandarlo al file "uno.php" che viene richiamato dalla index con un include sul post scelto.

primo.php
Codice PHP

PHP:
<?php 
session_start();//inizializzi la sessione 
if(!isset( $_SESSION['password'])){//la sessione NON esite quindi vieni reindirizzato a dove vuoi tu 
    //in una certa misura impedisce l'accesso diretto es con http://www.tuo_sito.it/software/index.php 
    header("location:www.miosito.it");  
    exit(); 
} 
?> 
<?php 
if (isset($_POST['text1']))  
{ 
$text1 = $_POST['text1']; 
$fp = fopen("../ref/uno.php","w"); 
fwrite($fp,$text1); 
fclose($fp);} 
else{ 
// get contents of a file into a string 
$filename = "../ref/uno.php"; 
$handle = fopen($filename, "r"); 
$contents = fread($handle, filesize($filename)); 
fclose($handle); 
} 

?> 
<html> 
<head> 
<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script> 
<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script> 
<link rel="stylesheet" type="text/css" href="../template_sw.css"> 
</head> 
<body> 
<div class="white"> 
<h3>PRIMO TOPIC</h3> 
<form action="primo.php" method="post"> 
<textarea cols="100" rows="50" name="text1"><?php echo "$contents" ?></textarea> 
<br> 
<input type="submit" value="Invia" /> 
</form> 
</div> 

</body> 
</html>

e uno.php ha tutto vuoto perchè contiene solo il codice che il primo.php dovrebbe mandarli.

La question è che questo meccanismo funziona solo in parte poichè. Io vado nella area protetta ed accedo al topic che voglio modificare, quindi mi entra su (primo.php) cui testo lo manda a uno.php che viene richiamato dalla index con una porzione di codice (include). Solo che io accedo a primo.php e mi da l'interfaccia grafica e tutto e se c'era già un testo me lo carica in auto, solo che se ne modifico i contenuti del testo caricato mi fa del bordello. Stessa cosa se cancello tutto e rifaccio da capo, ad esempio il rosso del texteditor me lo fa diventare poi un verde..

Un casino incredibile, forse per me dovuto al codice carica e salva fatto male.

P.S La logica che volevo io era, carica il codice da uno.php quindi il testo se c'è, se non c'è mi fa scrivere a me con il texteditor senza fare bordelli. Dopo in futuro se riaccedo lì mi carica il codice corretto e me lo fa modificare. Ah, ovviamente agli occhi miei il codice non si deve vedere ma si deve solo vedere l'output.

Grazie a chi mi aiuta
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prova così
(ho tolto alcune cose per fare prima e ridotta la text area)
PHP:
<?php 
if (isset($_POST['text1'])) { 
	$text1 = $_POST['text1'];
	$fp = fopen("ref/uno.php","w"); 
	fwrite($fp,$text1); 
	fclose($fp);
	//questo serve per rifreshare e tornare al form rieseguendo lo script dopo che hai dato il submit
	echo "<meta http-equiv='Refresh' content='0; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}else{ 
	// get contents of a file into a string 
	$filename = "ref/uno.php"; 
	if(file_exists($filename)){//se esiste legge
	//potresti togliere la vecchia formattazione in modo da avere il testo pulito da tutti i tag html
	// e scrivendo o modificando poi li raggiungi
	//ti rimangono solo gli eventuali /r (a capo) che se vuoi puoi trasformarli in <br> e eliminare anche quelli
	//$contents =strip_tags(nl2br(file_get_contents($filename)));
	//in questo modo non dovresti avere la sovrapposizione con i vecchi tags
		$contents =strip_tags(file_get_contents($filename));
	}else{//se non esiste lo crea la prima volta che accedi
		$fp = fopen($filename,"w");
		fclose($fp);
		$contents ="";
	}
}
?>
<h3>PRIMO TOPIC</h3> 
<form action="primo.php" method="post"> 
<textarea cols="100" rows="5" name="text1"><?php echo "$contents" ?></textarea> 
<br> 
<input type="submit" value="Invia" /> 
</form>
 

Frank10

Utente Attivo
4 Mar 2011
190
1
18
Scusami se non ti ho risposto ma ero fuori.
In ogni caso al posto di $filename che dovrei mettere?
 

Frank10

Utente Attivo
4 Mar 2011
190
1
18
Gli errori che mi da sono:
PHP:
Warning: fopen(..ref/uno.php) [function.fopen]: failed to open stream: No such file or directory in C:\Program Files\EasyPHP-5.3.9\www\muro\software\appo\primo.php on line 28

Warning: fclose() expects parameter 1 to be resource, boolean given in C:\Program Files\EasyPHP-5.3.9\www\muro\software\appo\primo.php on line 29


il file uno.php si trova: muro\software\ref\uno.php

Potrebbe essere questo ma non so
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
l'errore
Warning: fopen(..ref/uno.php) [function.fopen]: failed to open stream: No such file or directory in C:\Program Files\EasyPHP-5.3.9\www\muro\software\appo\primo.php on line 28
vuol dire che non trova il file uno.php il secondo è conseguenza del primo
da quello che ho capito devi mettere a posto i percorsi
se primo.php si trova in
muro\software\appo\primo.php
e
uno.php in
muro\software\ref\uno.php
il percorso da dare è
".../ref/uno.php"
in pratica vuo dire che da "appo" deve risalire a "software" (i tre punti) e da software deve entrare in "ref"
correggi tutti i percorsi e sappimi dire
 

Frank10

Utente Attivo
4 Mar 2011
190
1
18
Ciao,
Nulla da fare da sempre il solito errore anche con i 3 punti:

Warning: fopen(.../ref/uno.php) [function.fopen]: failed to open stream: No such file or directory in C:\Program Files\EasyPHP-5.3.9\www\muro\software\appo\primo.php on line 28

Warning: fclose() expects parameter 1 to be resource, boolean given in C:\Program Files\EasyPHP-5.3.9\www\muro\software\appo\primo.php on line 29
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao

}else{//se non esiste lo crea la prima volta che accedi
$fp = fopen($filename,"w"); è questa la riga 28?

se è quella metti un var_dump

PHP:
<?php
//......
}else{//se non esiste lo crea la prima volta che accedi
        var_dump($filename);
        $fp = fopen($filename,"w");
        fclose($fp);
        $contents ="";
    } 
//....
?>
e dimmi cosa riporta
 

Frank10

Utente Attivo
4 Mar 2011
190
1
18
Ciao mi riporta questo:
string '.../ref/uno.php' (length=15)

Warning: fopen(.../ref/uno.php) [function.fopen]: failed to open stream: No such file or directory in C:\Program Files\EasyPHP-5.3.9\www\muro\software\appo\primo.php on line 29

Warning: fclose() expects parameter 1 to be resource, boolean given in C:\Program Files\EasyPHP-5.3.9\www\muro\software\appo\primo.php on line 30


Ho pensato ti potesse essere utile, questo è il file muro

Vedi l'allegato muro.zip
 

Frank10

Utente Attivo
4 Mar 2011
190
1
18
Ottimo, funziona. Crea solo un "problema" però, ovvero che quando lo ricarica la scritta appare senza modifiche.

Es il post lo metto come Ciao maiuscolo, rosso etc. Dopo quando vado a farne modifiche il text editor me lo fa vadere come ciao. null'altro di stile, neanche il centrato. Si può fare qualcosa?

Grazie!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
Ottimo, funziona. Crea solo un "problema" però, ovvero che quando lo ricarica la scritta appare senza modifiche.
lo so, ma per ora è l'unico metodo per non far sovrascivere i vari tag che eventualmete aggiungi nella modifica.
ci sto pensando
 

Frank10

Utente Attivo
4 Mar 2011
190
1
18
Grazie Borgo, fammi sapere se riesci arrivare a meta.. Io sto facendo qualche prova ma per ora non va.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ho fatto diverse prove, ma è colpa di nicedit (e credo anche di altri editor wisi) che, se non tolti, sovrappone sempre i vari tags.
l'unico modo è toglierli, salvo i ritorni a capo per mantenere almeno una certa forma, e eventualmente rimettereli.

PHP:
<textarea cols="100" rows="100" name="text1"><?php echo strip_tags($contents, "<br><br /><p>"); ?></textarea>

poi secondo me ti conviene mettere un link drl tipo

PHP:
echo "<a href=\"alla_pag_che vuoi.php\">se non vuoi modificare clicca qui</a>";

in modo che non venga reiserito un testo uguale ma sensa formattazione
sorry
 
Discussioni simili
Autore Titolo Forum Risposte Data
I Sto progettando nuovi siti utilizzando bootstrap e devo dire funziona bene, l'unico problema e la maschera -moz- HTML e CSS 0
K Problema form update PHP 2
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
S Problema nel ciclare un json Javascript 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
K Problema Inner join PHP 1
F firefox problema http Linux e Software 0
N Problema con position absolute e overflow HTML e CSS 4
E Problema jquery Success jQuery 2
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
E problema selezione sfumata Photoshop 2
K [PHP] Problema con variabili concatenate. PHP 1
A Problema filtro fluidifica Photoshop Photoshop 1
H Problema Bordi Scontorno Photoshop 1
O problema con query PHP 4
R Problema installazione Realtek WiFi USB rtl8821 Reti LAN e Wireless 0
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
Y Problema percorso file in rete PHP 1
N Problema SEO "L'URL non si trova su Google" SEO e Posizionamento 4
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
P Problema acquisizione clienti Webdesign e Grafica 1
F NetBeans problema creazione progetto Java Windows e Software 0
M Problema con Try Catch PHP 0
C problema seo + cerco esperto SEO e Posizionamento 11
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
I PROBLEMA: Sostituzione sito XAMPP E-Commerce 0
T problema data 30/11/-1 PHP 0
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Y Problema incolonnamento tabella PHP 7
S problema salvataggio immagini Photoshop 0
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
D problema php mysql PHP 1
D problema php mysql PHP 1

Discussioni simili