Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    4

    [guida pratica php+mysql] Sono bloccato in un passaggio...

    In rif. alla guida di Francesco Bonetto, sono bloccato in un punto.
    ho creato la mia pagina insert_news.php dove si inseriscono i dati della news
    codice:
    <?
    include ("top_foot.inc.php");
    include("config.inc.php");
    
    //intestazione
    top();
    ?>
    		<div id="body">
    			<div id="navigaton_body">
    				<div id="body_navigation_top">[img]images/navigation_top.gif[/img]</div>
       			  	<div id="navigation_body_center">
                    	<div align="center">Menu:</div>
    				  	<div id="navigation_body_links" align="center">
    				    	<div>Add</div>
    						<div>Modify</div>
    						<div>Delete</div>
        			  	</div>
       			  </div>
        			<div id="navigation_body_bottom">[img]images/navigation_bottom.gif[/img]</div>
    			</div>
        		<div id="content">
    				<div id="content_header">News Manager</div>
    				<div id="news_manager">
    					<form method=post action=save_news.php>
    						Titolo:
    
    						<input type=text size=40 name=title>
    
    						
    
    						Categoria:
    
    						<select name=category>
    						<option value=1>Web
    						<option value=2>Events
    						<option value=3>Diary
    						<option value=4>Friends
    						<option value=5>Reviews
    						</select>
    
    						Data:
    
    						<select name=day>
    						<?
    						for ($i=1; $i<=31; $i++)
    						echo "<option value=$i>$i";
    						?>
    						</select>
    						<select name=month>
    						<option value=1>Gennaio
    						<option value=2>Febbraio
    						<option value=3>Marzo
    						<option value=4>Aprile
    						<option value=5>Maggio
    						<option value=6>Giugno
    						<option value=7>Luglio
    						<option value=8>Agosto
    						<option value=9>Settembre
    						<option value=10>Ottobre
    						<option value=11>Novembre
    						<option value=12>Dicembre
    						</select>
    						<select name=year>
    						<option value=2001>2001
    						<option value=2002>2002
    						<option value=2003>2003
    						<option value=2004>2004
    						<option value=2005>2005
    						<option value=2006>2006
    						</select>
    
    						
    
    						Autore:
    
    						<input type=text size=40 name=author>
    
    						
    
    						E-mail:
    
    						<input type=text size=40 name=email>
    
    						
    
    						Sito Web:
    
    						<input type=text size=40 name=homepage>
    
    						
    
    						Testo:
    
    						<textarea cols=55 rows=10 name=text></textarea>
    
    						
    
    						Password:
    
    
    						<input type=password size=40 name=pass>
    
    
    						
     <input type=submit value=Invia> </form>
    
    				</div>
    			</div>
    
    <?
    // chiusura pagina
    foot_html();
    ?>
    come noterete ho modificato i nomi dei campi in inglese e aggiunto il campo categoria e homepage.
    Pongo qui sotto il codice del file save_news.php che inserirà le informazioni nel database:
    codice:
    <? include("top_foot.inc.php");
    include("config.inc.php");
    top();
    ?>
    		<div id="body">
    			<div id="navigaton_body">
    				<div id="body_navigation_top">[img]images/navigation_top.gif[/img]</div>
       			  	<div id="navigation_body_center">
                    	<div align="center">Menu:</div>
    				  	<div id="navigation_body_links" align="center">
    				    	<div>Add</div>
    						<div>Modify</div>
    						<div>Delete</div>
        			  	</div>
       			  </div>
        			<div id="navigation_body_bottom">[img]images/navigation_bottom.gif[/img]</div>
    			</div>
        		<div id="content">
    				<div id="content_header">News Manager</div>
    				<div id="news_manager">
    					<?
    					// controllo password
    					if ($password != $pass):
    						echo "Password errata";
    					// controllo che i campi titolo e testo non siano NULL
    					elseif (trim($title) == "" OR trim($text) == ""):
    						echo "I campi Titolo e Testo devono essere riempiti!";
    					// formattazione del testo
    					else:
    						$title = addslashes(stripslashes($title));
    						$author = addslashes(stripslashes($author));
    						$mail = addslashes(stripslashes($mail));
    						$homepage = addslashes(stripslashes($homepagel));
    						$text = addslashes(stripslashes($text));
    						$title = str_replace("<", "&lt;", $title);
    						$title = str_replace(">", "&gt;", $title);
    						$author = str_replace("<", "&lt;", $author);
    						$author = str_replace(">", "&gt;", $author);
    						$text = str_replace("<", "&lt;", $text);
    						$text = str_replace(">", "&gt;", $text);
    						$text = nl2br($testo);
    					// preparo la data
    						$data = mktime("0", "0", "0", $month, $day, $year);
    					// 	mi connetto al db
    						$db = mysql_connect($db_host, $db_user, $db_password);
    						if ($db == FALSE)
    							die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    						mysql_select_db($db_name, $db)
    						or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    					// eseguo una query sul db
    						$query = "INSERT INTO news (title, text, date, author, mail, homepage, category) VALUES ('$title', '$testo', '$date', '$author', '$mail', '$homepage', '$category')";
    					// controllo che l'inserimento sia avvenuto correttamente
    						if (mysql_query($query, $db))
    							echo "L'articolo è stato inserito correttamente";
    						else
    							echo "Errore durante l'inserimento";
    							mysql_close($db); 
    						endif;
    
    					?>
    					
    				</div>
    			</div>
    			
    <?
    // chiusura pagina
    foot_html();
    ?>
    Il problema è che a questo punto se testo la pagina mi da l'errore di password errata! Ho provato a togliere la linea di codice di controllo password, ma mi dava l'errore che i campi del titolo e del testo sono vuoti! Sono arrivato alla conclusione i dati della pagina insert_news.php non vengono "passati" alla pagina save_news.php.
    Ho controllato il codice e dovrebbe essere a posto, ma non riesco a uscirne!

    Ringrazio in anticipo per un aiuto...
    skaletz

  2. #2
    modifica i nomi delle variabili, se nell'input hai:

    <input type=text name=pippo>

    nel file che elabora tutti i dati inviati dovrai utilizzare la variabile

    $_POST[pippo]

    probabilmente la tua guida non fa riferimento ad una versione aggiornata di php oppure il tuo file php.ini è configurato in modo diverso da quello dell'autore.

    fai questo tentativo, aggiusta i nomi delle variabili nel file save_news.php

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    4
    allora...ho provato a fare come dici tu, ma il risultato non cambia...forse c'è qualcosa di errato nella pagina insert_news.php

    HELP!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.