CSS & PHP: Formattare il testo mostrato da uno script php

Quando aggiungo il div lo sfondo diventa bianco, ma non riesco a far allineare la textarea alla sua etichetta:

HTML:
<label for="message">Messaggio*:</label>
        <div id="msg">
          <textarea name="message" id="message" cols="45" rows="5" tabindex="40"></textarea>
        </div>

Da CSS:

Codice:
#msg {
	background-color:#FFF;
	width:270px;
	float:left;
}

textarea {
	width:270px;
	height: 150px;
}

Risultato:

IMG.png
 

Allegati

  • result.png
    result.png
    16,4 KB · Visite: 301
Non funge...
Credo sia un problema di div, perché se lo tolgo la textarea torna al suo posto :S
 
ciao
al posto dei div prova ad usare la vecchia <table>

<tr><td>etichetta</td><td>textarea</td></tr>
poi se vuoi alla table, tr, td puoi assegnare tutte le classi che vuoi
 
Alla fine non ho risolto con il div, e ho inserito dei pulsanti in js per la formattazione del testo...

Avrei una domanda: sono incappato in una di quelle scritte pseudo automatiche del tipo bla bla eccetera...
Mi chiedevo, posso inserire una sorta di moderazione o un captcha al mio guestbook?
Preferirei comunque la moderazione ossia autorizzare la pubblicazione dei commenti... Come potrei fare?

Ecco il codice della pagina, nel caso dovesse servire!

PHP:
<div id="Contenuto">
    <h1>&nbsp;</h1>
    <div id="form">
      <form id="Guestbook" name="form1" method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>"> 
      <fieldset> 
        <legend>Scrivi nel Guestbook!</legend>
        <p><em>Per inserire il testo formattato, cliccare su uno dei pulsanti e seguire le indicazioni.</em></p><hr /> 
        <p>
        <label for="name">Nome*:</label>
        <input type="text" name="name" id="name" tabindex="10" />
        </p>
        <p>
        <label for="surname">Cognome:</label>
        <input type="text" name="surname" id="surname" tabindex="20" />
		</p>
        <p>
          <label for="e_mail">Email*:</label>
          <input type="text" name="e_mail" id="e_mail" tabindex="30" />
          </p>
          <div id="fortext">
          <input type="button" onclick="bold();" value="Grassetto" /> <input type="button" onclick="italics();" value="Corsivo" /> <input type="button" onclick="underline();" value="Sottolinea" />
          </div> 
        <p>
        <label for="message">Messaggio*:</label>
       <!-- <div id="msg"> -->
          <textarea name="message" id="message" cols="45" rows="5" tabindex="40" class="msg"></textarea>
   <!--     </div> -->
        </p>
        <div id="buttons">
          <input type="submit" name="send" id="send" value="Invia" tabindex="50" />
          <input type="reset" name="reset" id="reset" value="Reset" tabindex="60" />
        </div>
      </fieldset>
      </form>
    </div>
    <p>
       <?php 
			
if (isset($_POST["send"]) && $_POST["send"] == "Invia") {  
    $tag_permessi="<br> <br /> <b> <strong> <i> <u> <hr>"; 
    $name=addslashes(trim(strip_tags($_POST['name']))); 
    $surname=addslashes(trim(strip_tags($_POST['surname'])));  
    $message=addslashes(trim(strip_tags($_POST['message'], $tag_permessi))); 
    $e_mail=addslashes(trim(strip_tags($_POST['e_mail']))); 
    $errore_si_no=""; 
    if($name==""){$errore_si_no .="Il nome &egrave; obbligatorio<br>";}  
    if(strlen($message) < 10){$errore_si_no .="Il tuo messaggio &egrave troppo corto<br>";} 
    if(!filter_var($e_mail, FILTER_VALIDATE_EMAIL)){$errore_si_no .="Indirizzo non inserito o non valido<br>";}  
    if($errore_si_no != ""){   
        echo "<div class=\"ok_ko\">$errore_si_no</div>"; 
        echo "<meta http-equiv='Refresh' content='5; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>"; 
    }else{  
        $inserimento=mysql_query("insert into Guestbook (NOME, COGNOME, MESSAGGIO, INDIRIZZO, DATA_ORA) values ('$name', '$surname', '$message', '$e_mail', now())");  
        if($inserimento){  
                $errore_si_no="Il tuo messaggio è stato inserito correttamente!<br />"; 
				echo "<div class=\"ok_ko\">$errore_si_no</div>";
				echo "<meta http-equiv='Refresh' content='5; URL=guestbook.php'>"; 				
        }else{  
            $errore_si_no="Errore nell'inserimento del tuo messaggio. Riprova più tardi"; 
			echo "<div class=\"ok_ko\">$errore_si_no</div>"; 
       		echo "<meta http-equiv='Refresh' content='3; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>"; 
			}
    }
}
		//mentre registra i dati non vedi il messaggi ed il form 
?>
</p>
</div>
 
ciao
per autorizzare i commenti dovresti avere un campo chiamato (es) autorizzato con si o no (o 0 o 1) la pubblicazione del commento avviene solo dopo che tu la letto e uppato il camp a si
 
Quindi dovrei inserire il campo nel DB e la condizione nella select di richiamo? Del tipo

PHP:
$inserimento=mysql_query("insert into Guestbook (NOME, COGNOME, MESSAGGIO, INDIRIZZO, DATA_ORA, AUTORIZZA) values ('$name', '$surname', '$message', '$e_mail', now(), '1')");  
        if($inserimento){  [...]

per quanto riguarda la scrittura e

PHP:
$lettura_risultati=mysql_query("select * from Guestbook where AUTORIZZA = "0" order by data_ora desc");

per quanto riguarda il caricamento?
 
ciao
in che senso il caricamento? cioè autorizzarli?
se è per autorizzarli nelle pag dell'admin fai una pag dove siano elencati i commenti da autorizzare (autorizzato =no) e li leggi, vicino ad ogno commento metti due e pulsanti "autorizza" e "elimina"
se premi autororizza uppi il camp di quel record da no a si ( o quello che hai messo)
se premi elimina fai il delete del record
poi come hai detto per la selct di richiamo visualizzi solo i commenti con autorizzato = si
 
Per caricamento intendevo lettura :)
Ho un problema col codice...
Dovendo "backslashare" gli apici, non mi dà i pulsanti in modo corretto...

Ho provato sia con

PHP:
<button onclick=\"<?php $query1=mysql_query(\"insert into Guestbook (AUTORIZZA) values ('0') where id='.$id.'\"); ?>\">Aggiorna</button>

che con

PHP:
<input type=\"button\" onclick=\"<?php $query1=mysql_query(\"delete * from Guestbook where id='.$id.'\"); ?>\" value=\"Cancella\" />

Il risultato?
Nel primo caso un pulsante il cui titolo è ">Aggiorna
Nel secondo caso, un pulsante vuoto con accanto " value="Cancella" />
 
ciao
Dovendo "backslashare" gli apici,...:confused::confused::confused:
se sei in html non devi backslashare
PHP:
<button onclick="<?php $query1=mysql_query("insert into Guestbook (AUTORIZZA) values ('0') where id='.$id"); ?>">Aggiorna</button>
poi perche fai una cosa del genere? il campo autorizza lo metti a non autorizzato quando fai l'insert del commento.
un momento di pazienza e ti posto uno schema di come faccio io
 
Aspetta, aspetta...
Sto scrivendo nel codice PHP... Ecco perché devo backslashare... Uso la generazione automatica della pagina, come per il guestbook...
Poi ho semplicemente posto SI=0 e NO=1 quindi di default viene inserito 1 al momento della scrittura nel guestbook...
Quando clicco autorizza, l'1 diventa 0...

La pagina del gb legge che è 0 e di conseguenza pubblica...
 
ciao
se ti fai una paginetta del genere vedi tutti i commenti in attesa di autorizzazione e quindi puoi approvarli o, es se spam, eliminarli
guarda che ho messo i nomi a caso sia come tabella che come campi
PHP:
<?php
//...dati di connesione
if(isset($_GET['au'])){//se hai cliccato su autorizza il commento sarà poi visibile
	$id_auto=$_GET['au'];
	$mod=mysql_query("UPDATE commenti SET autorizza='SI' WHERE ID=$id_auto");
	//e un ritorno automatico di refresh
}elseif(isset($_GET['el'])){//se hai cliccato su elimina il commento viene cancellato
	$id_elim=$_GET['el'];
	$eli=mysql_query("DELETE FROM commenti WHERE ID=$id_elim");
	//e un ritorno automatico di refresh in modo da avere sempre l'elenco aggiornato
}
//visualizzo solo i commenti in attesa di autorizzazione
$q=mysql_query("SELECT * FROM commenti WHERE autorizza='NO' ORDER BY data");
//eventuale verifica se esistono
echo "<table>";
echo "<tr><td>data</td><td>titolo commento</td><td>autorizza</td><td>elimina</td></tr>";
while($riga=mysql_fetch_array($q)){
	$id=$riga['ID'];//id del commento
	$data=$riga['data'];//data del commento
	$titolo=$riga['titolo'];//titolo del commento o potresti mettere il testo
	echo "<tr><td>$data</td><td>$titolo</td><td><a href=\"?au=$id\">autorizza</a></td><td><a href=\"?el=$id\">elimina</a></td></tr>";
}
echo "</table>";
//....
?>
guarda che è schematico, non ho messo eventuali controlli
 
ciao
se tutta la riga è dentro php perche metti altri tag php?
e poi mi sembra che tu stia facendo un assurdo, cosa c'entra l'insert? al clik del button?
da quello che ho capito un utente inserisce un commento quindi i vari dati (non so quali) ma probabilmente data, titolo, testo...
in questo momento inserisci anche il campo autorizzato a NO, altrimenti che controllo hai?
poi tu se sei l'admin quardi i commenti in attesa e uppi eventualmente il campo a SI (che poi sia 0 o 1 è lo stesso) e solo dopo il commento viene visualizzato.
a parte che utilizza un servizio (disqus) è lo stesso principio che trovi qui sul forum se vuoi mettere un commento alle news: il commento viene visualizzato solo ed esclusivamente dopo l'autorizzazione di un moderatore
 
Ok ci sono riuscito alla perfezione!
Ora basterà tenere "top secret" l'indirizzo della pagina lol :P
 
Si è quello a cui avevo pensato :) Ho avuto qualche problema con le sessioni ma devo smanettarci ancora un po' :)
Nel caso aprirò una discussione a tema...
Grazie ancora borgoitalia!!
 

Discussioni simili