Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [php]il form non mi passa la variabile!!!!

    Ciao a tutti!sto sclerando con uno script che fino a ieri funzionava correttamente, mentre ora non va più una mazza, e, sarà per il caldo o cos'altro, sto iniziando a prendere a martellate 'sto odioso pc.

    Dunque cerco di spiegarvi il mio problema come meglio riesco.

    In una pagina faccio creare dinamicamente delle textarea che avranno il nome di una lingua [es. italiano, inglese etc]. Le lingue vengono inserite in un db, e di conseguenza il numero delle textarea sarà uguale al numero delle lingue. Il mio problema riguarda la modifica di una news (in quanto nelle textarea vengono inserite le news).

    Supponiamo di avere due lingue, appunto italiano ed inglese.

    Fase di inserimento:
    Nella pagina di amministrazione vedo due textarea nelle quali posso inserire le mie news; decido di inserire per ora solo la news in italiano, e quindi la textarea di inglese la lascio vuota.
    Premo invio e giustamente mi viene inserita SOLO la news italiana, con rispettivi titolo, sottotitolo, data di pubblicazione.

    Fase di modifica:
    Dopo un pò di tempo voglio inserire la news in lingua inglese della news italiana che ho inserito sopra.
    Recupero la news, mi si aprono sempre due textarea, la prima contiene la news in italiano, la seconda è giustamente vuota perché la news in inglese non mi era stata precedentemente inserita.
    Modifico la mia news italiana e decido di mettere del testo anche nella news inglese. Ed è proprio quello che non mi va. Non mi inserisce nessuna nuova news, mentre se era già inserita questa viene modificata normalmente.

    Nel mio codice ci sono diversi if che verificano se devo inserire la news o semplicemente modificarla, gli if sono giusti perché ho controllato ed entrano negli if giusti, solo che se devo inserirla sembra proprio che non mi venga passato il contenuto della textarea inglese.
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Untitled Document</title>
    <link href="up.css" rel="stylesheet" type="text/css">
    </head>
    
    <body>
    
    <?
    include "../config.inc.php";
    $connection = mysql_connect($db_host, $db_user, $db_password)or die("Errore nella connessione: ".mysql_error());
    mysql_select_db($db_name, $connection);
    
    $lingue = "SELECT * FROM lingue ORDER BY id ASC";
    $r_lin = mysql_query($lingue)or die("Errore nell'estrazione delle lingue: ".mysql_error());
    
    while ($row_lin = mysql_fetch_assoc($r_lin)){
    
    	$hidden = "hidden_".$row_lin[lingua];
    	$id = "id_".$row_lin[lingua];
    	echo "
    
    
    <span class=\"font7\">".$$hidden."</span>
    
    
    ";
    	
    	//MODIFICA DELLA NEWS QUANDO LA DATA NON E' PRESENTE
    	if ($$hidden == '1' && $data == ''){
    		$titolo = "titolo_".$row_lin[lingua];
    		$sottotitolo = "sottotitolo_".$row_lin[lingua];
    
    		$update = "UPDATE news SET titolo = '".$$titolo."', sottotitolo = '".$$sottotitolo."', testo = '".$$row_lin[lingua]."' WHERE id LIKE '".$$id."' AND lingua LIKE '$row_lin[id]'";
    		echo $update;
    		//mysql_query($update)or die("Errore durante l'aggiornamento: ".mysql_error());
    	}
    	
    	//MODIFICA DELLA NEWS SE QUESTA E' GIA' INSERITA IN ELENCO
    	elseif ($$hidden == '1'){
    		list ($giorno, $mese, $anno) = explode('/', $data);
    		$data = $anno.'-'.$mese.'-'.$giorno;
    		
    		$titolo = "titolo_".$row_lin[lingua];
    		$sottotitolo = "sottotitolo_".$row_lin[lingua];
    
    		$update = "UPDATE news SET titolo = '".$$titolo."', sottotitolo = '".$$sottotitolo."', testo = '".$$row_lin[lingua]."', data = '$data' WHERE id LIKE '".$$id."' AND lingua LIKE '$row_lin[id]'";
    		mysql_query($update)or die("Errore durante l'aggiornamento: ".mysql_error());
    	}
    	
    	//INSERIMENTO DELLA NEWS SE QUESTA NON E' PRESENTE IN ELENCO
    	elseif ($$hidden == '0'){
    	
    		echo $row_lin[lingua];
    		echo $$row_lin[lingua];
    		
    	}
    	
    	
    }
    
    if (isset($r_lin) && is_resource($r_lin))	mysql_free_result($r_lin);
    if (isset($re) && is_resource($re))	mysql_free_result($re);
    ?>
    
    
    <div align="left" class="content">Aggiornamento avvenuto correttamente.
    
    Torna all'elenco delle news</div>
    
    </body>
    </html>
    Notate l'ultimo elseif dove mi entra se devo inserire la news. Mi entra e mi scrive il nome della lingua che è inglese ma se io gli dico di fare scrivere $inglese che è la textarea non mi scrive nulla. Perchè questo strano comportamento che mi sta facendo dannare??

    Notare inoltre che uso lo stesso identico script da un'altra parte e funziona!!

    Mi scuso se mi sono dilungato oltre, ma ho cercato di spiegarvi per bene il mio problema...ringrazio chi avrà tempo e voglia di aiutarmi.
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  2. #2
    Come ulteriore prova ho messo all'inizio della pagina un echo $italiano e $inglese, ho notato che $inglese non me lo scrive!!

    Me lo scrive solo se era già presente nel db. Perchééééééééé???
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  3. #3
    Adesso mi inserisce sempre e solo l'italiano!!!!
    Perché le altre lingue le ignora?nell'inserimento non ho toccato assolutamente nulla!!!!!!!!!!!

    Sto odiano il php!Sto odiano il php!Sto odiano il php!Sto odiano il php!Sto odiano il php!Sto odiano il php!Sto odiano il php!Sto odiano il php!Sto odiano il php!Sto odiano il php!Sto odiano il php!Sto odiano il php!Sto odiano il php!Sto odiano il php!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  4. #4
    poi con la prima versione dell'htmlArea funziona e con la successiva no...i nomi delle textarea perché non vengono passati nel secondo caso??porc..

    raga non c'è nessuno che mi dà una mano?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  5. #5
    mano ..... man mano...

    ma e' corretto con tu non metta gli apici agli indici associativi degli array? Sicuramente hai i notice disabilitati.

    Poi una domanda di quelle che non si osano fare....

    perche' metti tutti quei $$var?


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Originariamente inviato da piero.mac
    mano ..... man mano...

    ma e' corretto con tu non metta gli apici agli indici associativi degli array? Sicuramente hai i notice disabilitati.

    Poi una domanda di quelle che non si osano fare....

    perche' metti tutti quei $$var?

    Grazie per la risosta!

    Chiedo scusa se rispondo solo ora, ma ieri ho poi lasciato perdere tutto. Ormai mi sono rassegnato ad usare l'HTMLArea 2.03 almeno con quella funziona; l'unica cosa è che mi dovrò passare tutto il codice html che mi genera in modo che sia XHTML. Con la versione 3.0 invece non dovevo farmi tutta 'sta menata (oddio, dovevo farla comunque, ma in maniera molto ristretta).

    Tutti quei doppi dollari li mettevo perché io estraevo le lingue dal db, che erano contenute ad esempio nella variabile $var (che era valorizzata ad esempio con italiano) se io mettevo $$var era come avere $italiano e quindi mi prendeva il contenuto della textarea di nome italiano; lo stesso ragionamento lo facevo per l'inglese.

    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  7. #7
    ma non e' che, banalmente, sia un problema di register_global in off?

    cioe' che quel $inglese sia poi in realta' $_POST[inglese]

    se no, ho detto la cazzata delle 10.20


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    no il register_globals è settato a On, anche perché altrimenti non si spiegherebbe il fatto che la news in italiano mi venga inserita. Ho provato comunque a mettere $_POST ma non cambia nulla.

    Grazie lo stesso per la disponibilità.
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.