Form - inserire titolo, descrizione ed IMMAGINE

Marco Bonanno

Utente Attivo
3 Lug 2012
32
0
6
Ciao, ho un piccolo problema che ancora non sono riuscito a risolvere. Sto cercando di creare un form dove l'utente possa scrivere titolo, descrizione ed inviare una immagine che verrà caricata in una directory (Mi consigliate solo directory o database?).

Comunque, per i campi titolo e descrizione nessun problema, tutto fatto. Solo che non so come procedere per quanto riguarda il caricamento dell'immagine...perche dovrei fare due form dove prima si carica l'immagine e poi si procede con il secondo invio per titolo e descrizione?

O tutto un form, dove si preleva immagine e poi compilando titolo e descrizione si invia?
Vi incollo il codice attuale, se potete aiutarmi, grazie.

PHP:
<?php require_once 'app/init.php';

if (isset($_POST['submit']))
{
	$validator = Validator::make(
	    array(
	        'title' => $_POST['title'],
	        'question' => $_POST['question'],
	    ),
	    array(
	        'title' => 'required',
	        'question' => 'required',
	    )
	);

	if ($validator->fails())
	{
		$errors = $validator->messages();
	}
	else
	{
		DB::table('question')->insert(
		    array(
		    	'q_title' => escape($_POST['title']), 
		    	'q_desc' => escape($_POST['question']),
                'page_title' => escape($_POST['title']), 
                'user_id' => escape($_POST['userid']),
                'user_name' => escape($_POST['username'])
		    )
		);

		return redirect_to('question.php');
	}
}
?>
<?php echo View::make('header')->render() ?>
    
<div class="row">
	<div class="col-md-8">
		<h3 class="page-header">Question</h3>      
        <!-- Display errors, if are any -->
	    <?php if (isset($errors)): ?>
		<ul>
			<?php foreach ($messages->all('<li>:message</li>') as $message) {
				echo $message;
			} ?>
		</ul>
	    <?php endif ?>
	
	    <!-- Form -->
        <?php if (Auth::check()): ?>
	    <form action="" method="POST">
            <label for="title">Question</label>
	    <div class="input-group input-group-lg"> 
            <input type="text" name="title" class="form-control" placeholder="Question" aria-describedby="basic-addon2">
            <span class="input-group-addon" id="basic-addon2">?</span>
            </div><br />
            <label for="question">Description</label>
            <textarea class="form-control" name="question" rows="3" cols="10" placeholder="Description..."></textarea>
            <input type="hidden" name="userid" value="<?php echo Auth::user()->id ?>">
            <input type="hidden" name="username" value="<?php echo Auth::user()->display_name ?>">
		<button type="submit" name="submit">Save</button>
	    </form>
        <?php else: ?>
			<p>
			<!-- <?php _e('comments.logged_in', array('attrs' => 'href="login.php"')) ?> -->
            <?php _e('comments.logged_in', array('attrs' => 'href="#" class="login-modal" data-target="#loginModal"')) ?>
			</p>
		<?php endif ?>       
	</div>
</div>

<?php echo View::make('footer')->render() ?>
 
Ciao, non capisco perchè complicare ulteriormente le cose... fai una pagina dove l'utente fa una sola operazione... Le interfacce web devono essere il più possibile semplici ed intuitive per l'utente finale.
Per la scelta di posizione dell'upload, considera che nel db occupi molto ma molto spazio, ma dipende anche il tipo di hosting o server che hai... nel caso avessi un hosting "spazio infinito", il problema non si pone, upload su directory e viceversa se hai un db che consente... salva su db con "BLOB".
Ciao
 
  • Like
Reactions: jessicacyrus1

Discussioni simili