Messaggi: 578
Discussioni: 47
Registrato: Nov 2008
Reputazione:
0
07/06/2015 15:08
(Questo messaggio è stato modificato l'ultima volta il: 07/06/2015 15:12 da Chandler.)
mettendo la spunta ai (da adminer) la tabella adesso si è autorinominata "adminer_screen"
se rovo ad eseguire la solita operazione adesso mi dice:
Citazione:Warning: sqlite_query() [function.sqlite-query]: no such table: screen in /membri/indamecs/templates/config.php on line 40
SQL logic error or missing database
ho quindi sostituito "screen" con "adminer_screen" nel file edit.php e adesso la risposta è questa:
Citazione:Template generato con successo.
Fatal error: Call to undefined method MysqlClass::disconnetti() in /membri/indamecs/templates/edit.php on line 49
Messaggi: 1.323
Discussioni: 171
Registrato: Nov 2006
Reputazione:
2
Non so perché abbia cambiato il nome della tabella. Forse è un bug di Adminer.
Dal messaggio che sembrerebbe che abbia inserito correttamente i dati nel database.
L'errore dice che manca il metodo "disconnetti" alla classe "MySqlClass". Trovi il codice di quel metodo in questa lezione della guida, ma mysql_close funziona diversamente da sqllite_close, quindi il codice sarà il seguente:
Codice PHP: public function disconnetti() { sqlite_close($this->connessione); $this->attiva = false; return true; }
Mattia!
Messaggi: 578
Discussioni: 47
Registrato: Nov 2008
Reputazione:
0
09/06/2015 19:27
(Questo messaggio è stato modificato l'ultima volta il: 09/06/2015 19:28 da Chandler.)
non so se ho fatto correttamente, ma adesso config.php è così:
Codice: <?php
class MysqlClass
{
// parametri per la connessione al database
private $nomefile = 'templates.db';
// controllo sulle connessioni attive
private $attiva = false;
private $connessione = null;
// funzione per la connessione a SQLite
public function connetti()
{
if(!$this->attiva)
{
$this->connessione = sqlite_open($this->nomefile);
}else{
return true;
}
}
//funzione per l'inserimento dei dati in tabella
public function inserisci($t,$v,$r = null)
{
if(isset($this->attiva))
{
$istruzione = 'INSERT INTO '.$t;
if($r != null)
{
$istruzione .= ' ('.$r.')';
}
for($i = 0; $i < count($v); $i++)
{
if(is_string($v[$i]))
$v[$i] = '"'.$v[$i].'"';
}
$v = implode(',',$v);
$istruzione .= ' VALUES ('.$v.')';
$query = sqlite_query($this->connessione, $istruzione) or die(sqlite_error_string(sqlite_last_error($this->connessione)));
}else{
return false;
}
}
//disconnessione
$dbhandle = sqlite_open('templates.db');
sqlite_close($dbhandle);
}
?>
mentre edit.php è così:
Codice: <?php
// inizializzazione della sessione
error_reporting(E_ALL);
session_start();
// valorizzazione delle variabili con i parametri dal form
if (isset($_POST['submit'])) {
if(isset($_POST['titoletto'])){
$titoletto = addslashes(filter_var($_POST['titoletto'], FILTER_SANITIZE_STRING));
}
if(isset($_POST['titolo'])){
$titolo = addslashes(filter_var($_POST['titolo'], FILTER_SANITIZE_STRING));
}
if(isset($_POST['testo'])){
$testo = addslashes(filter_var($_POST['testo'], FILTER_SANITIZE_STRING));
}
if(isset($_POST['posizione'])){
$posizione = addslashes(filter_var($_POST['posizione'], FILTER_SANITIZE_STRING));
}
// inclusione del file della classe
include "config.php";
// istanza della classe
$data = new MysqlClass();
// chiamata alla funzione di connessione
$data->connetti();
// form per l'inserimento immagine
define('UPLOAD_DIR', './uploads/');
$immagine = '';
if(isset($_FILES['upload']))
{
$file = $_FILES['upload'];
if($file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name']))
{
move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);
$immagine = UPLOAD_DIR.$file['name'];
}
}
$t = "adminer_screen"; # nome della tabella
$v = array ($titoletto,$titolo,$testo,$immagine,$posizione); # valori da inserire
$r = "titoletto,titolo,testo,immagine,posizione"; # campi da popolare
// chiamata alla funzione per l'inserimento dei dati
$data->inserisci($t,$v,$r);
echo "Template generato con successo.";
// disconnessione
public function disconnetti() {
sqlite_close($this->connessione);
$this->attiva = false;
return true;
}
}else{
?>
<html>
<title>Crea Screen</title>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<span onMouseOver="toggle('answer1'); return false;" onMouseOut="toggle('answer1'); return false;" class='tltp'>Seleziona la foto:</span>
<input type="file" id="file_upload" name="upload" size="31" style="background: #F8F8F8; border: 1px solid #888; width:240px;font: 11px Arial, Helvetica, sans-serif;padding:2px;" /><br />
Allinea immagine<br>
<input type="hidden" name='posizione' id='' value="" />
<select name="optsize" id="optsize" style="width:241px;" onChange="$.cookie(this.name,this.value)">
<option value="0">A DESTRA</option>
<option value="1">A SINISTRA</option>
</select><br />
Titoletto <br />
<input name="titoletto" type="text"><br />
Titolo <br />
<input name="titolo" type="text"><br />
<textarea name="testo" rows="5" cols="40">
inserisci il testo
</textarea>
<input name="submit" type="submit" value="Crea Screenshot">
</form>
</body>
</html><?
}
?>
Messaggi: 1.323
Discussioni: 171
Registrato: Nov 2006
Reputazione:
2
In "config.php" dovevi semplicemente inserire il codice che ti ho scritto.
Mattia!
Messaggi: 578
Discussioni: 47
Registrato: Nov 2008
Reputazione:
0
per cortesia mi dici allora cosa devo correggere? Altrimenti mi perdo...
Messaggi: 1.323
Discussioni: 171
Registrato: Nov 2006
Reputazione:
2
Rimetti i due file com'erano in precedenza e copia il metodo disconnetti che ho scritto in questo messaggio all'interno della classe "MySqlClass" (che è quella all'interno del file "config.php").
Mattia!
Messaggi: 578
Discussioni: 47
Registrato: Nov 2008
Reputazione:
0
così è corretto?
Codice: <?php
class MysqlClass
{
// parametri per la connessione al database
private $nomefile = 'templates.db';
// controllo sulle connessioni attive
private $attiva = false;
private $connessione = null;
// funzione per la connessione a SQLite
public function connetti()
{
if(!$this->attiva)
{
$this->connessione = sqlite_open($this->nomefile);
}else{
return true;
}
}
//funzione per l'inserimento dei dati in tabella
public function inserisci($t,$v,$r = null)
{
if(isset($this->attiva))
{
$istruzione = 'INSERT INTO '.$t;
if($r != null)
{
$istruzione .= ' ('.$r.')';
}
for($i = 0; $i < count($v); $i++)
{
if(is_string($v[$i]))
$v[$i] = '"'.$v[$i].'"';
}
$v = implode(',',$v);
$istruzione .= ' VALUES ('.$v.')';
$query = sqlite_query($this->connessione, $istruzione) or die(sqlite_error_string(sqlite_last_error($this->connessione)));
}else{
return false;
}
}
public function disconnetti() {
sqlite_close($this->connessione);
$this->attiva = false;
return true;
}
}
?>
Messaggi: 1.323
Discussioni: 171
Registrato: Nov 2006
Reputazione:
2
Sembrerebbe di sì. Ti dà qualche errore?
Mattia!
Messaggi: 578
Discussioni: 47
Registrato: Nov 2008
Reputazione:
0
10/06/2015 20:50
(Questo messaggio è stato modificato l'ultima volta il: 11/06/2015 11:23 da Chandler.)
adesso mi da solo:
Citazione:Template generato con successo.
Quindi che si fa adesso?
adesso bisogna collegare i dati che vengono salvati nella tabella, ai contenuti della pagina templates.html. In realtà non è importante che questo passaggio sia visibile, dato che in realtà da quando inserisco i dati da backend, cliccando su "crea screenshot" mi genera direttamente la jpeg.
Fammi sapere
Messaggi: 1.323
Discussioni: 171
Registrato: Nov 2006
Reputazione:
2
11/06/2015 17:43
(Questo messaggio è stato modificato l'ultima volta il: 11/06/2015 17:45 da Mattia.)
A questo punto, seguendo il suggerimento che ti avevo dato nella mia prima risposta, dovresti creare il singolo template in HTML (che verrà poi trasformato in PDF e in seguito in immagine) estraendo i dati dal database.
Questa lezione della guida spiega come estrarre i dati di un singolo elemento (probabilmente nella tua classe "MySqlClass" mancheranno dei metodi che devi cercare nelle lezioni precedenti a quella di cui ti ho messo il link).
Se volevi generare direttamente l'immagine inviando il form, non ti serviva salvare i dati nel database (a meno che non ti serve uno storico).
Mattia!
Messaggi: 578
Discussioni: 47
Registrato: Nov 2008
Reputazione:
0
ma come?? O.O
In effetti non è importante che si visualizzi il risultato ma, come ti dicevo, esportare la jpeg con il formato dell'allegato jpeg del mio primo post...
Messaggi: 1.323
Discussioni: 171
Registrato: Nov 2006
Reputazione:
2
Allora invece di salvare i dati nel database, devi usare i dati che arrivano in POST all'interno del template in HTML.
Per esempio, dove nel template c'è il titolo inserirai:
Codice PHP: <h5><?php echo htmlspecialchars($_POST['titolo']);?></h5>
Mattia!
Messaggi: 578
Discussioni: 47
Registrato: Nov 2008
Reputazione:
0
Quindi un codice così?
Codice: <html>
<head>
<title>Home</title>
</head>
<body class="homepage homepage block">
<link rel="alternate" type="application/rss+xml" title="" href="feed.rss" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="screen.css?c=2" media="screen" type="text/css" />
<link rel="stylesheet" href="print.css?c=2" media="print" type="text/css" />
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,600,700,300' rel='stylesheet' type='text/css'>
<section class="latest-outcome waypoints greyBg">
<div class="inner">
</div>
</section>
<section id="projects" class="lines">
<div class="inner">
<article class="teaser left landscape">
<figure class="js-animate ">
<picture>
<source srcset="http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/BDF-Elements/_homeprojectlandscape/Header_01.jpg" media="(max-width: 1000px)">
<!--<source srcset="http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/BDF-Elements/_homeprojectlandscape/Header_01.jpg" media="(min-width: 800px)">-->
<img src= "http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/BDF-Elements/_homeprojectlandscape/Header_01.jpg" class="mainImg" alt="BDF Energy in the room" />
</picture>
</figure>
<div class="teaser-details js-animate">
<h3><?php echo htmlspecialchars($_POST['titoletto']);?></h3>
<h5><?php echo htmlspecialchars($_POST['titolo']);?></h5>
<div class="container">
<div class="desc"><p>
<p><?php echo htmlspecialchars($_POST['testo']);?></p></p></div></a>
</div> <br />
<div clas="readmore"></div>
</div>
</article>
<article class="teaser right square">
<figure class="js-animate award">
<picture>
<source srcset="http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/Eagle-Adventure-Tours/_homeprojectlandscape/Header_141001.jpg" media="(max-width: 1000px)">
<!--<source srcset="http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/Eagle-Adventure-Tours/_homeprojectsquare/EAT_Teaser_1308x1308.jpg" media="(min-width: 800px)">-->
<img src="http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/Eagle-Adventure-Tours/_homeprojectsquare/EAT_Teaser_1308x1308.jpg" class="mainImg" alt="Eagle Adventure Tours USA Trips for Bikers" />
</picture>
</figure>
<div class="teaser-details js-animate">
<h3><?php echo htmlspecialchars($_POST['titoletto']);?></h3>
<h5><?php echo htmlspecialchars($_POST['titolo']);?></h5>
<div class="container">
<div class="desc"><p>
<p><?php echo htmlspecialchars($_POST['testo']);?></p></p></div>
</div>
<div clas="readmore"></div>
</div>
</article>
<article class="teaser left landscape">
<figure class="js-animate ">
<a href="http://demodern.com/projects/nike-community-wall" >
<picture></picture>
</a>
</figure>
<div class="teaser-details js-animate">
<a href="http://demodern.com/projects/nike-community-wall">
<h3></h3></a></div>
</article>
<article class="teaser left square">
<div class="teaser-details js-animate">
<div class="container"><a href="http://demodern.com/projects/dice-decide"><div class="desc"></p></div></a>
</div>
<div clas="readmore"></div>
</div>
</article>
<div class="clear"></div>
<div class="moreInfoProjects" data-stellar-ratio="1.07">
</div>
</div>
</section>
<section class="our-core lines dark">
<div class="inner" data-stellar-ratio="0.93"></div>
</section>
</body>
</html>
Messaggi: 1.323
Discussioni: 171
Registrato: Nov 2006
Reputazione:
2
Ho visto velocemente il codice, ma mi sembra corretto.
Mattia!
Messaggi: 578
Discussioni: 47
Registrato: Nov 2008
Reputazione:
0
ok, ma dovrei dividere l'allineamento a DX da quello di SX e capire se per ottenere l'output jpeg ci sono ancora i 2 passaggi di prima (pdf > jpeg) o se si può fare direttamente col jpeg...
Messaggi: 1.323
Discussioni: 171
Registrato: Nov 2006
Reputazione:
2
Per prima cosa bisogna far uscire correttamente il codice HTML e poi si può pensare di fare il passaggio in PDF e poi JPEG.
Se l'unica differenza tra il codice che allinea a sinistra o a destra è l'utilizzo delle classi "left" o "right", allora puoi modificare l'apertura del tag article in questo modo:
Codice PHP: <article class="teaser <?php if (isset($_POST['posizione']) && $_POST['posizione'] == 1) : ?>left<?php else : ?>right<?php endif;?> square">
Inoltre devi utilizzare solo un elemento nel codice HTML senza dover creare un article per l'esempio a sinistra e uno per quello a destra.
Mattia!
Messaggi: 578
Discussioni: 47
Registrato: Nov 2008
Reputazione:
0
13/06/2015 16:37
(Questo messaggio è stato modificato l'ultima volta il: 13/06/2015 16:37 da Chandler.)
ok, quindi ne posso lasciare uno solo adesso di template con testo + immagine?
intanto ho corretto il codice così:
Codice: <html>
<head>
<title>Home</title>
</head>
<body class="homepage homepage block">
<link rel="alternate" type="application/rss+xml" title="" href="feed.rss" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="screen.css?c=2" media="screen" type="text/css" />
<link rel="stylesheet" href="print.css?c=2" media="print" type="text/css" />
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,600,700,300' rel='stylesheet' type='text/css'>
<section class="latest-outcome waypoints greyBg">
<div class="inner">
</div>
</section>
<section id="projects" class="lines">
<div class="inner">
<article class="teaser left landscape">
<figure class="js-animate ">
<picture>
<source srcset="http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/BDF-Elements/_homeprojectlandscape/Header_01.jpg" media="(max-width: 1000px)">
<!--<source srcset="http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/BDF-Elements/_homeprojectlandscape/Header_01.jpg" media="(min-width: 800px)">-->
<img src= "http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/BDF-Elements/_homeprojectlandscape/Header_01.jpg" class="mainImg" alt="BDF Energy in the room" />
</picture>
</figure>
<div class="teaser-details js-animate">
<h3><?php echo htmlspecialchars($_POST['titoletto']);?></h3>
<h5><?php echo htmlspecialchars($_POST['titolo']);?></h5>
<div class="container">
<div class="desc"><p>
<p><?php echo htmlspecialchars($_POST['testo']);?></p></p></div></a>
</div> <br />
<div> Dott.ssa Fabrizia Minciullo - Dietista e Biologa nutrizionista</div>
</div>
</article>
<article class="teaser <?php if (isset($_POST['posizione']) && $_POST['posizione'] == 1) : ?>left<?php else : ?>right<?php endif;?> square">
<figure class="js-animate award">
<picture>
<source srcset="http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/Eagle-Adventure-Tours/_homeprojectlandscape/Header_141001.jpg" media="(max-width: 1000px)">
<!--<source srcset="http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/Eagle-Adventure-Tours/_homeprojectsquare/EAT_Teaser_1308x1308.jpg" media="(min-width: 800px)">-->
<img src="http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/Eagle-Adventure-Tours/_homeprojectsquare/EAT_Teaser_1308x1308.jpg" class="mainImg" alt="Eagle Adventure Tours USA Trips for Bikers" />
</picture>
</figure>
<div class="teaser-details js-animate">
<h3><?php echo htmlspecialchars($_POST['titoletto']);?></h3>
<h5><?php echo htmlspecialchars($_POST['titolo']);?></h5>
<div class="container">
<div class="desc"><p>
<p><?php echo htmlspecialchars($_POST['testo']);?></p></p></div>
</div>
<div> Dott.ssa Fabrizia Minciullo - Dietista e Biologa nutrizionista</div>
</div>
</article>
<article class="teaser <?php if (isset($_POST['posizione']) && $_POST['posizione'] == 1) : ?>left<?php else : ?>right<?php endif;?> square">
<figure class="js-animate ">
<a href="http://demodern.com/projects/nike-community-wall" >
<picture></picture>
</a>
</figure>
<div class="teaser-details js-animate">
<a href="http://demodern.com/projects/nike-community-wall">
<h3></h3></a></div>
</article>
<div class="clear"></div>
</div>
</div>
</section>
</body>
</html>
Resterebbe da capire:
1) come far spuntare l'immagine uploadata (e scalata) dal backend
2) la scritta "dott.ssa Fabrizia..." dovrebbe posizionarsi come nell'immagine che ho allegato nel primo post.
Attendo tue
Grazie
Messaggi: 1.323
Discussioni: 171
Registrato: Nov 2006
Reputazione:
2
Puoi cancellare il primo article e mantenere solo il secondo dove hai già messo l'if.
Puoi mantenere l'upload del form che salva i dati sul database e poi puoi usare la variabile $immagine nel src dell'immagine.
Devi spostare il div con il testo della dottoressa subito prima di chiudere il tag figure.
Mattia!
Messaggi: 578
Discussioni: 47
Registrato: Nov 2008
Reputazione:
0
13/06/2015 18:06
(Questo messaggio è stato modificato l'ultima volta il: 13/06/2015 18:06 da Chandler.)
ho notato che nel secondo article (dove ho messo l' if) si è persa la freccia che si trova nel margine DX della prima (e che c'er nel margine SX della seconda) ho infatti lasciato il primo article invariato così vedi le differenze, ho messo la variabile immagine (ma non so se ho fatto correttamente) e ho spostato la dicitura della dottoressa...
ecco il codice:
Codice: <html>
<head>
<title>Home</title>
</head>
<body class="homepage homepage block">
<link rel="alternate" type="application/rss+xml" title="" href="feed.rss" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="screen.css?c=2" media="screen" type="text/css" />
<link rel="stylesheet" href="print.css?c=2" media="print" type="text/css" />
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,600,700,300' rel='stylesheet' type='text/css'>
<section class="latest-outcome waypoints greyBg">
<div class="inner">
</div>
</section>
<section id="projects" class="lines">
<div class="inner">
<article class="teaser <?php if (isset($_POST['posizione']) && $_POST['posizione'] == 1) : ?>left<?php else : ?>right<?php endif;?> square">
<figure class="js-animate ">
<picture>
<source srcset="http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/BDF-Elements/_homeprojectlandscape/Header_01.jpg" media="(max-width: 1000px)">
<!--<source srcset="http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/BDF-Elements/_homeprojectlandscape/Header_01.jpg" media="(min-width: 800px)">-->
<img src=$immagine class="mainImg" alt="cover" />
</picture><div> Dott.ssa Fabrizia Minciullo - Dietista e Biologa nutrizionista</div>
</figure>
<div class="teaser-details js-animate">
<h3><?php echo htmlspecialchars($_POST['titoletto']);?></h3>
<h5><?php echo htmlspecialchars($_POST['titolo']);?></h5>
<div class="container">
<div class="desc"><p>
<p><?php echo htmlspecialchars($_POST['testo']);?></p></p></div></a>
</div> <br />
</div>
</article>
<article class="teaser <?php if (isset($_POST['posizione']) && $_POST['posizione'] == 1) : ?>left<?php else : ?>right<?php endif;?> square">
<figure class="js-animate award">
<picture>
<source srcset="http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/Eagle-Adventure-Tours/_homeprojectlandscape/Header_141001.jpg" media="(max-width: 1000px)">
<!--<source srcset="http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/Eagle-Adventure-Tours/_homeprojectsquare/EAT_Teaser_1308x1308.jpg" media="(min-width: 800px)">-->
<img src=$immagine class="mainImg" alt="cover" />
</picture><div> Dott.ssa Fabrizia Minciullo - Dietista e Biologa nutrizionista</div>
</figure>
<div class="teaser-details js-animate">
<h3><?php echo htmlspecialchars($_POST['titoletto']);?></h3>
<h5><?php echo htmlspecialchars($_POST['titolo']);?></h5>
<div class="container">
<div class="desc"><p>
<p><?php echo htmlspecialchars($_POST['testo']);?></p></p></div>
</div>
</div>
</article>
<article class="teaser <?php if (isset($_POST['posizione']) && $_POST['posizione'] == 1) : ?>left<?php else : ?>right<?php endif;?> square">
<figure class="js-animate ">
<a href="http://demodern.com/projects/nike-community-wall" >
<picture></picture>
</a>
</figure>
<div class="teaser-details js-animate">
<a href="http://demodern.com/projects/nike-community-wall">
<h3></h3></a></div>
</article>
<div class="clear"></div>
</div>
</div>
</section>
</body>
</html>
Messaggi: 1.323
Discussioni: 171
Registrato: Nov 2006
Reputazione:
2
La freccia viene creata da CSS sul tag figure, quindi il problema potrebbe essere dato dall'inserimento del div della dottoressa al suo interno. Prova a toglierlo e vedi se ricompare.
Il tag img sarà una cosa simile a (dovresti controllare il percorso della cartella):
Codice: <img src="/uploads/<?php echo $immagine;?>" class="mainImg" alt="cover" />
Mattia!
Messaggi: 578
Discussioni: 47
Registrato: Nov 2008
Reputazione:
0
14/06/2015 13:02
(Questo messaggio è stato modificato l'ultima volta il: 14/06/2015 13:03 da Chandler.)
Ciao Mattia, pur togliendo il div la freccia non ricompare...
il tag image dovrebbe essere corretto...ora però devo collegare i dati della pagina edit a questa pagina...
Messaggi: 1.323
Discussioni: 171
Registrato: Nov 2006
Reputazione:
2
Per collegare la pagina "edit" a questa pagina, basta che modifichi il parametro action del form in modo che punti all'indirizzo di questa pagina.
Mattia!
Messaggi: 578
Discussioni: 47
Registrato: Nov 2008
Reputazione:
0
qualcosa del genere? Codice: <form action="..//templates.html" method="post" enctype="multipart/form-data">
Messaggi: 1.323
Discussioni: 171
Registrato: Nov 2006
Reputazione:
2
Devi rinominare il file "templates.html" in "templates.php", altrimenti il codice PHP non viene eseguito.
Se il file "templates.php" si trova nella stessa cartella di "edit.php", il codice sarà:
Codice: <form action="templates.html" method="post" enctype="multipart/form-data">
Se il file "templates.php" si trova in una cartella superiore rispetto a "edit.php", il codice sarà:
Codice: <form action="../templates.html" method="post" enctype="multipart/form-data">
Mattia!
Messaggi: 578
Discussioni: 47
Registrato: Nov 2008
Reputazione:
0
15/06/2015 18:22
(Questo messaggio è stato modificato l'ultima volta il: 16/06/2015 01:37 da Chandler.)
c'è ancora qualcosa che non va, puoi testare tu direttamente qui
1) l'immagine non viene visualizzata correttamente
2) anche se cambio l'allineamento vedo sempre l'immagine a destra...
3) la dicitura "dottoressa..." non si vede perché sopra ci va la barra nera chiesi appiccica all'area dell'immagine
in realtà la barra secondo me potrebbe anche essere eliminata...
ti posto di seguito il codice finale di template.php:
Codice: <html>
<head>
<title>Home</title>
</head>
<body class="homepage homepage block">
<link rel="alternate" type="application/rss+xml" title="" href="feed.rss" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="screen.css?c=2" media="screen" type="text/css" />
<link rel="stylesheet" href="print.css?c=2" media="print" type="text/css" />
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,600,700,300' rel='stylesheet' type='text/css'>
<section class="latest-outcome waypoints greyBg">
<div class="inner">
</div>
</section>
<section id="projects" class="lines">
<div class="inner">
<article class="teaser <?php if (isset($_POST['posizione']) && $_POST['posizione'] == 1) : ?>left<?php else : ?>right<?php endif;?> square">
<figure class="js-animate ">
<picture>
<source srcset="http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/BDF-Elements/_homeprojectlandscape/Header_01.jpg" media="(max-width: 1000px)">
<!--<source srcset="http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/BDF-Elements/_homeprojectlandscape/Header_01.jpg" media="(min-width: 800px)">-->
<img src="/uploads/<?php echo $immagine;?>" class="mainImg" alt="cover" />
</picture><div> Dott.ssa Fabrizia Minciullo - Dietista e Biologa nutrizionista</div>
</figure>
<div class="teaser-details js-animate">
<h3><?php echo htmlspecialchars($_POST['titoletto']);?></h3>
<h5><?php echo htmlspecialchars($_POST['titolo']);?></h5>
<div class="container">
<div class="desc"><p>
<p><?php echo htmlspecialchars($_POST['testo']);?></p></p></div></a>
</div> <br />
</div>
</article>
<div class="clear"></div>
</div>
</div>
</section>
</body>
</html>
Messaggi: 1.323
Discussioni: 171
Registrato: Nov 2006
Reputazione:
2
Per quanto riguarda l'immagine, devi inserire all'inizio del file "templates.php" la parte del vecchio form che faceva l'upload.
Per l'allineamento devi modificare queste righe di codice:
Codice: Allinea immagine<br>
<input type="hidden" name='posizione' id='' value="" />
<select name="optsize" id="optsize" style="width:241px;" onChange="$.cookie(this.name,this.value)">
<option value="0">A DESTRA</option>
<option value="1">A SINISTRA</option>
</select><br />
Con queste:
Codice: Allinea immagine<br />
<select name="posizione" style="width:241px;">
<option value="0">A DESTRA</option>
<option value="1">A SINISTRA</option>
</select><br />
P.S.: Sposta tutti i tag link all'interno del tag head.
Mattia!
Messaggi: 578
Discussioni: 47
Registrato: Nov 2008
Reputazione:
0
adesso edit è così:
Codice: <?php
// inizializzazione della sessione
error_reporting(E_ALL);
session_start();
// valorizzazione delle variabili con i parametri dal form
if (isset($_POST['submit'])) {
if(isset($_POST['titoletto'])){
$titoletto = addslashes(filter_var($_POST['titoletto'], FILTER_SANITIZE_STRING));
}
if(isset($_POST['titolo'])){
$titolo = addslashes(filter_var($_POST['titolo'], FILTER_SANITIZE_STRING));
}
if(isset($_POST['testo'])){
$testo = addslashes(filter_var($_POST['testo'], FILTER_SANITIZE_STRING));
}
if(isset($_POST['posizione'])){
$posizione = addslashes(filter_var($_POST['posizione'], FILTER_SANITIZE_STRING));
}
// inclusione del file della classe
include "config.php";
// istanza della classe
$data = new MysqlClass();
// chiamata alla funzione di connessione
$data->connetti();
$t = "adminer_screen"; # nome della tabella
$v = array ($titoletto,$titolo,$testo,$immagine,$posizione); # valori da inserire
$r = "titoletto,titolo,testo,immagine,posizione"; # campi da popolare
// chiamata alla funzione per l'inserimento dei dati
$data->inserisci($t,$v,$r);
echo "Template generato con successo.";
// disconnessione
$data->disconnetti();
}else{
?>
<html>
<title>Crea Screen</title>
<body>
<form action="templates.php" method="post" enctype="multipart/form-data">
<span onMouseOver="toggle('answer1'); return false;" onMouseOut="toggle('answer1'); return false;" class='tltp'>Seleziona la foto:</span>
<input type="file" id="file_upload" name="upload" size="31" style="background: #F8F8F8; border: 1px solid #888; width:240px;font: 11px Arial, Helvetica, sans-serif;padding:2px;" /><br />
Allinea immagine<br />
<select name="posizione" style="width:241px;">
<option value="0">A DESTRA</option>
<option value="1">A SINISTRA</option>
</select><br />
Titoletto <br />
<input name="titoletto" type="text"><br />
Titolo <br />
<input name="titolo" type="text"><br />
<textarea name="testo" rows="5" cols="40">
inserisci il testo
</textarea>
<input name="submit" type="submit" value="Crea Screenshot">
</form>
</body>
</html><?
}
?>
mentre templates è così:
Codice: <?php
// form per l'inserimento immagine
define('UPLOAD_DIR', './uploads/');
$immagine = '';
if(isset($_FILES['upload']))
{
$file = $_FILES['upload'];
if($file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name']))
{
move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);
$immagine = UPLOAD_DIR.$file['name'];
}
}
?>
<html>
<head>
<title>Home</title>
<link rel="alternate" type="application/rss+xml" title="" href="feed.rss" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="screen.css?c=2" media="screen" type="text/css" />
<link rel="stylesheet" href="print.css?c=2" media="print" type="text/css" />
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,600,700,300' rel='stylesheet' type='text/css'>
</head>
<body class="homepage homepage block">
<section class="latest-outcome waypoints greyBg">
<div class="inner">
</div>
</section>
<section id="projects" class="lines">
<div class="inner">
<article class="teaser <?php if (isset($_POST['posizione']) && $_POST['posizione'] == 1) : ?>left<?php else : ?>right<?php endif;?> square">
<figure class="js-animate ">
<picture>
<source srcset="http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/BDF-Elements/_homeprojectlandscape/Header_01.jpg" media="(max-width: 1000px)">
<!--<source srcset="http://s3-eu-west-1.amazonaws.com/demodernsite/amazon/Cases/BDF-Elements/_homeprojectlandscape/Header_01.jpg" media="(min-width: 800px)">-->
<img src="/uploads/<?php echo $immagine;?>" class="mainImg" alt="cover" />
</picture><div> Dott.ssa Fabrizia Minciullo - Dietista e Biologa nutrizionista</div>
</figure>
<div class="teaser-details js-animate">
<h3><?php echo htmlspecialchars($_POST['titoletto']);?></h3>
<h5><?php echo htmlspecialchars($_POST['titolo']);?></h5>
<div class="container">
<div class="desc"><p>
<p><?php echo htmlspecialchars($_POST['testo']);?></p></p></div></a>
</div> <br /><br /><br />
</div>
</article>
<div class="clear"></div>
</div>
</div>
</section>
</body>
</html>
sicuramente ho sbagliato qualcosa perché:
1) non vedo ancora correttamente l'immagine
2) la banda nera inferiore è ancora alta... io la rimuoverei completamente.
Adesso gli allineamenti invece funzionano correttamente.
Al link di prima trovi i file aggiornati.
Messaggi: 1.323
Discussioni: 171
Registrato: Nov 2006
Reputazione:
2
Anche all'inizio di "templates.php" prova a mettere questa riga di codice qui sotto così escono eventuali errori.
Mattia!
Messaggi: 578
Discussioni: 47
Registrato: Nov 2008
Reputazione:
0
messa prima della parte upload, ma non mi è spuntato nessun errore...
Messaggi: 1.323
Discussioni: 171
Registrato: Nov 2006
Reputazione:
2
Elimina il tag picture con tutto il suo contenuto e lascia solamente:
Codice PHP: <img src="<?php echo $immagine;?>" class="mainImg" alt="cover" />
Mattia!
|