problemi con funzione per stampare tendina per data

odisseo83

Nuovo Utente
14 Apr 2010
6
0
0
ciao a tutti, ho problemi con una funzione che mi stampa tre tendine coi valori per inserire la data di sottomissione di un testo.

Ho creato una funzione che stampa la form per inserire diversi valori tra cui il testo di articoli vari.
Per inserire la data, all'interno di questa form ho inserito questa funzione che ho trovato:

PHP:
function stampa_select_option_date($par, $par_giorno, $par_mese, $par_anno, $par_for_start, $par_for_end) {



	echo "<select name=\"{$par}_giorno\" style=\"width: 50px\">";

	echo "<option></option>";

	for($g = 1; $g <= 31; $g++) {

	

		if(!ereg("^([0-9]{2,2})$", $g))

			$g_value = "0" . $g;

		else

			$g_value = $g;

	

		if($par_giorno != "" && $par_giorno == $g)

			echo "<option value=\"{$g_value}\" selected=\"selected\">{$g}</option>";			

		else

			echo "<option value=\"{$g_value}\">{$g}</option>";

	}

	echo "</select>";



	echo " ";



	$array_mesi = array("Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre");



	echo "<select name=\"{$par}_mese\" style=\"width: 75px\">";

	echo "<option></option>";

	for($m = 1; $m <= 12; $m++) {

	

		if(!ereg("^([0-9]{2,2})$", $m))

			$m_value = "0" . $m;

		else

			$m_value = $m;

		

		if($par_mese != "" && $par_mese == $m)

			echo "<option value=\"{$m_value}\" selected=\"selected\">{$array_mesi[$m-1]}</option>";			

		else

			echo "<option value=\"{$m_value}\">{$array_mesi[$m-1]}</option>";

	}

	echo "</select>";



	echo " ";



	echo "<select name=\"{$par}_anno\" style=\"width: 75px\">";

	echo "<option></option>";

	for($a = date("Y") - $par_for_start; $a <= date("Y") + $par_for_end; $a++) {

		if($par_anno != "" && $par_anno == $a)

			echo "<option selected=\"selected\">{$a}</option>";			

		else

			echo "<option>{$a}</option>";

	}			

	echo "</select>";

}

il problema è : _quando voglio passare i valori al DB

PHP:
$giorno_trim = $_POST['{$par}_giorno'];
$mese_trim = $_POST['{$par}_mese'];
$anno_trim = $_POST['{$par}_anno'];
$data_DB = $anno_trim."-".$mese_trim."-".$giorno_trim;

ho fatto così ma mi dice che sono undefined index

-quando voglio inserire i valori 'value' delle select tra i parametri della funzione che stampa la form

PHP:
stampa_form($titolo, $tipo, $soggetto, $g_value, $m_value, $a, $testo);

inserendo questi valori se sbaglio a compilare la form non mi restituisce nessun valore nelle tendine della data.

come faccio?

Grazie a tutti quelli che mi risponderanno!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
da dove provengono i $_POST

$giorno_trim = $_POST['{$par}_giorno'];
$mese_trim = $_POST['{$par}_mese'];
$anno_trim = $_POST['{$par}_anno'];
$data_DB = $anno_trim."-".$mese_trim."-".$giorno_trim;
?
e come valorizzi la variabile $par?
 

jan267

Utente Attivo
6 Mar 2003
1.955
2
38
33
Milano
twitter.com
Non sono stato a leggere tutto, comunque...
PHP:
$_POST['{$par}_anno'];
non andrà mai.
Per funzionare la digitura corretta è:
PHP:
$_POST[$par . '_anno'];
, o se proprio ti piacciono le parentesi graffe:
PHP:
$_POST["{$par}_anno"];
.

L'apice singolo non parsa mai le variabili.
 
Ultima modifica:

odisseo83

Nuovo Utente
14 Apr 2010
6
0
0
da dove provengono i $_POST?

sono il name delle varie select all'interno della funzione che le stampa.

e come valorizzi la variabile $par?

Bella domanda. Ho semplicemente incollato la funzione senza preoccuparmene.

non andrà mai.
Per funzionare la digitura corretta è:

PHP:
$_POST[$par . '_anno'];

funziona! Inserisce i dati nel db. Grazie jan 267!
 
Ultima modifica:

odisseo83

Nuovo Utente
14 Apr 2010
6
0
0
ora però ho un altro problema. Avevo già detto che la funzione
PHP:
stampa_select_option_date($par, $par_giorno, $par_mese, $par_anno, $par_for_start, $par_for_end);
è dentro un'altra funzione che stampa una form. Questa funzione è la seguente:

PHP:
function stampa_form($titolo, $tipo, $soggetto, $g_value, $m_value, $a, $testo){

i valori
PHP:
 $g_value, $m_value, $a,
riguardano la data, precisamente sono i valori che nella funzione stampa_select_option_date che riportavo nel primo post della discussione indicano i value degli <option>.
devo aver sbagliato a inserire quelli come parametri perché non mi ridà i valori già digitati nella form nelle tendine della data se sbaglio ad inserire qualche valore negli altri campi della form.

Inoltre se il testo dello scritto da inserire è lungo non me lo inserisce nel DB, il testo l'avevo inserito nel DB mysql come longtext not null
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Inoltre se il testo dello scritto da inserire è lungo non me lo inserisce nel DB, il testo l'avevo inserito nel DB mysql come longtext not null

longtext memorizza fino a 4 GB, quindi il problema non può essere nel db, non è che hai impostato un limite di lunghezza nell'area di testo?
 

odisseo83

Nuovo Utente
14 Apr 2010
6
0
0
no, ho scoperto ora che lo inceppavano gli apici, così ho sistemato il valore del testo con addslashes($string); e funziona.

Rimane insoluto il problema parametri.
 
Discussioni simili
Autore Titolo Forum Risposte Data
L problemi con funzione unlink PHP 2
C [AJAX] Problemi con la funzione ajax_do() Javascript 2
G Problemi con la funzione "mail" PHP 3
T Problemi con funzione split PHP 3
M Upload immagine con javascript problemi con FormData() Javascript 1
A Problemi con move_uploaded_file PHP 7
M Problemi con la stampa dei valori in php PHP 1
L Problemi con il login PHP 2
R Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql MySQL 1
Z problemi con foreach insert into PHP 10
B javascript per problemi con pdf e Safari Javascript 0
M Problemi con creazione maschere Presentati al Forum 1
M Problemi con query a più tabelle PHP 3
S Problemi delle funzioni eliminate con PHP e MySQL PHP 4
M Problemi con blog Grav CMS (Content Management System) 0
S incoerenza di stampa. problemi con il magenta Photoshop 3
A problemi con paypall Java 1
felino [Windows 8.1] Problemi con connessione WiFi Windows e Software 0
E [PHP] problemi nuova riga con fwrite su piattaforma android PHP 5
O [HTML] problemi con la regola "background-attachment: fixed" in EDGE HTML e CSS 0
M [PHP] Problemi con query unione PHP 11
M [PHP] Problemi con select PHP 6
ANDREA20 [HTML] problemi con il footer HTML e CSS 1
D [MS Access] problemi con inserimento campo in una maschera MS Access 6
M [PHP] Problemi con il riconoscimento login. PHP 21
A [WordPress] problemi con xampp WordPress 2
M Problemi con database Apache/2.4.37 (Win32) OpenSSL/1.1.1a PHP/7.3.1 PHP 6
S [PHP] problemi con le sessioni PHP 3
T [PHP] problemi con il browser PHP 0
Andrea_Ventura [HTML] Problemi con effetto hover HTML e CSS 5
M [PHP] Problemi con login facebook PHP 0
Andrea_Ventura [HTML] Problemi con visualizzazione Navigation Bar HTML e CSS 10
andreas88 Creare file .htaccess per risolvere alcuni problemi con il tester SEO SEO e Posizionamento 0
Eugene [Joomla] Problemi con modulo per strutture alberghiere JHotelreservation starter Joomla 6
F [PHP] Problemi di base con bot di telegram PHP 9
M [Photoshop] Problemi con importazione immagini trasparenti in indesign Photoshop 0
E [Photoshop] Problemi con dimensioni immagini Photoshop 12
G [HTML] Problemi con inserimento immagini HTML e CSS 7
L Problemi con Javascript e Mustache Javascript 0
G Invio Mail con PHPMailer, problemi SMTP PHP 7
A [Javascript] problemi con javascrip e posizione GPS html5 Javascript 6
D Due problemi con Photoshop... Photoshop 1
G Problemi con pagina online.php di una chat in php PHP 38
S Problemi con impostazioni php PHP 3
P Problemi con AndroidStudio Sviluppo app per Android 0
S Problemi con Dell Precision T5400 Windows e Software 2
F ciao, sono ferro e ho bisogno di aiuto per problemi con la mail di alice.it Presentati al Forum 1
S [PHP] Problemi con Login e pagina Utente PHP 5
Z problemi con swf e chrome o sistemi portatili Webdesign e Grafica 5
N Problemi connettività con Tp Link EAP 110 Reti LAN e Wireless 0

Discussioni simili