View Full Version : passaggio parametri - PHP
Ciao a tutti,vi spiego subito cosa sto combinando, ho fatto un campo di testo in una pagina chiamata index.php, in questo campo di testo devo inserire un nome e quando clicco sul bottone entra, si deve aprire l'altra pagina che ho chiamato scheda.php con scritto:
Nome: e qui il nome che ho scritto nella pagina index.php, in poche parole mi deve passare il parametro. Vi mando il codice che ho scritto:
INDEX.php
<html>
<head>
<title></title>
</head>
<body>
<form action="scheda.php" method="post">
<table>
<tr>
<td>nome</td>
<td><input type=text name=nome></td>
</tr>
<tr>
<td colspan=2 ><input type=submit name=entra value=entra></td>
</tr>
</table>
</form>
<?php
?>
</body>
</html>
SCHEDA.php
<html>
<head>
<title></title>
</head>
<body>
<?php
If (entra == entra){
print "<table>
<tr>
<td>Nome:"$nome"</td>
</tr>
</table>"
}
?>
</body>
</html>
Spero che qualcuno possa darmi una mano a risolvere questo problema, ciao e grazie :eek:
Scusa ma cosa significa questo pezzo di codice?
If (entra == entra){
Comunque quando invii una form, hai in automatico un array con l'elenco di tutti i valori.
nel tuo caso, visto che hai chiamato la casella di testo "nome", hai il valore inserito dall'utente nella variabile
$_POST['nome']
Hai fatto un discreto casino nella seconda pagina, è più semplice di quanto pensi...
Prova con:
<html>
<head><title>Prova</title></head>
<body>
<table>
<tr>
<td>
<? echo "Nome: $_POST["nome"]"; ?>
</td>
</tr>
</table>
</body>
</html>
Ho cambiato tutto, pensandoci meglio è melglio fare un data base, in quando devo fare un sito web per un negozio di computer, e devo fare la parte amministratore dove il titolare potrà modificare, nome, foto ecc.. dei prodotti. Per cui io adesso provo a inserire solo un nome nel database, mi hanno passato un codice che pero fa inserire solo un nome particolare come potrai vedere dal codice mi fa inserire solo "ciao", ma io voglio inserire tanti prodotti, in questo caso nomi, io ti provo a mandare il codice perche non riesco a modificarlo:
<html>
<head>
<title></title>
</head>
<body>
<form action="index.php" method="post">
<table>
<tr>
<td>nome</td>
<td><input type=text name=nome></td>
</tr>
<tr>
<td colspan=2 ><input type=submit name=entra value=entra></td>
</tr>
</table>
</form>
<?php
if(!isset($_POST)) $_POST=$HTTP_POST_VARS;
$errore='';
if($_POST['nome']=='') $errore.="Manca il nome<br>";
else{
$nome=addslashes($_POST['nome']);
if ($nome=='ciao'){
$conn = @mysql_connect("localhost","root","") or die("connessione fallita");
@mysql_select_db("esercizi") or die ("connessione fallita");
$sql = "INSERT INTO registro (nome) VALUES ('$nome')";
$risultato = @mysql_query($sql) or die ("query fallita");
print "Registrazione effettuata. <a href=login.php>login</a>";
}
}
?>
</body>
</html>
Spero che hai capito cosa devo fare e comunque grazie per l'aiuto, :muro: ciao ciao
Così adesso funziona e puoi aggiungere quello che vuoi, se non capisci qualche istruzione chiedi pure...
ciao, ti ringrazio per l'aiuto, però volevo farti una domanda, perchè mi compaiono i NOTICE, so che non sono degli errori, ma non ce un modo per toglierli?
esempio:
Notice: Undefined index: nome in c:\easyphp1-7\www\esercizi\index.php on line 39
Ciao ciao :)
Dovresti darmi il codice di index.php per saperlo...
I notice sono degli avvertimenti da parte del compilartore che il codice scritto non è sintatticamente perfetto ma permette comunque la compilazione...
questo è il codice:
<html>
<head>
<title>ComputerGratis.it</title>
</head>
<body bgcolor=#F7FBA4>
<br><br>
<center><h1>Inserisci un nuovo Prodotto</h1></center>
<br><br><br><br><br>
<form action="index.php" method="post">
<table border=1 bordercolor=black align=center>
<tr>
<td colspan=2 bgcolor=white><font align=center size=5 face=Courier>Dati del Prodotto</font></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Nome Prodotto</font></td>
<td><input type=text name=nome></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Marca</font></td>
<td><input type=text name=marca></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Descrizione</font></td>
<td><input type=text name=descrizione></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Codice</font></td>
<td><input type=text name=codice></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Prezzo</font></td>
<td><input type=text name=prezzo></td>
</tr>
<tr>
<td colspan=2 align=center bgcolor=white><input type=submit name=inserisci value=inserisci></td>
</tr>
</table>
</form>
<?php
if(!isset($_POST)) $_POST=$HTTP_POST_VARS;
else{
$nome=addslashes($_POST['nome']); linea 44
$marca=addslashes($_POST['marca']);
$descrizione=addslashes($_POST['descrizione']);
$codice=addslashes($_POST['codice']);
$prezzo=addslashes($_POST['prezzo']); linea 48
$conn = @mysql_connect("localhost","root","") or die("connessione fallita");
@mysql_select_db("esercizi") or die ("connessione fallita");
$sql = "INSERT INTO registro (nome, marca, descrizione, codice, prezzo) VALUES ('$nome','$marca','$descrizione','$codice','$prezzo')";
$risultato = @mysql_query($sql) or die ("query fallita");
print "<font size=3 face=terminal>Inserimento effettuato correttamente.</font><a href=scheda.php>SCHEDA PRODOTTI</a>";
}
?>
</body>
</html>
E questi sono i notice:
Notice: Undefined index: nome in c:\easyphp1-7\www\computergratis\prodotti.php on line 44
Notice: Undefined index: marca in c:\easyphp1-7\www\computergratis\prodotti.php on line 45
Notice: Undefined index: descrizione in c:\easyphp1-7\www\computergratis\prodotti.php on line 46
Notice: Undefined index: codice in c:\easyphp1-7\www\computergratis\prodotti.php on line 47
Notice: Undefined index: prezzo in c:\easyphp1-7\www\computergratis\prodotti.php on line 48
Mi dai anche il codice della pagina dove vengono inseriti i dati?
L'inserimento dei dati nel database è corretto?
Qui vengono inseriti e visualizzati i prodotti:
<html>
<head>
<title>ComputerGratis.it</title>
</head>
<body>
<?php
$conn = @mysql_connect("localhost","root","") or die("connessione fallita");
@mysql_select_db("esercizi") or die ("connessione fallita");
$sql = "SELECT * FROM registro";
$risultato = @mysql_query($sql) or die ("query fallita");
print "<table border= bordercolor=#676767 background=sfondo.gif align=center width=80%>
<tr>
<td>Nome</td>
<td>Marca</td>
<td>Descrizione</td>
<td>Codice</td>
<td>Prezzo</td>
<td>Dettagli</td>
</tr>";
while ($linea = mysql_fetch_array($risultato)) {
print "<tr>";
print "<td>".$linea["nome"]."</td>";
print "<td>".$linea["marca"]."</td>";
print "<td>".$linea["descrizione"]."</td>
<td>".$linea["codice"]."</td>
<td>".$linea["prezzo"]."</td>
<td>Dettagli</td>";
}
print "</tr></table>";
?>
</body>
</html>
GRAZIE :confused:
Originariamente inviato da Fede83
Qui vengono inseriti e visualizzati i prodotti:
Qui vengono solo visualizzati i prodotti ma non inseriti...
A me serve la pagina da cui li inserisci, quella con le textbox in cui scrivere...
allora è la pagina che ti ho mandato sopra:
<html>
<head>
<title>ComputerGratis.it</title>
</head>
<body bgcolor=#F7FBA4>
<br><br>
<center><h1>Inserisci un nuovo Prodotto</h1></center>
<br><br><br><br><br>
<form action="index.php" method="post">
<table border=1 bordercolor=black align=center>
<tr>
<td colspan=2 bgcolor=white><font align=center size=5 face=Courier>Dati del Prodotto</font></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Nome Prodotto</font></td>
<td><input type=text name=nome></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Marca</font></td>
<td><input type=text name=marca></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Descrizione</font></td>
<td><input type=text name=descrizione></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Codice</font></td>
<td><input type=text name=codice></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Prezzo</font></td>
<td><input type=text name=prezzo></td>
</tr>
<tr>
<td colspan=2 align=center bgcolor=white><input type=submit name=inserisci value=inserisci></td>
</tr>
</table>
</form>
<?php
error_reporting (0);
if(!isset($_POST)) $_POST=$HTTP_POST_VARS;
else{
$nome=addslashes($_POST['nome']);
$marca=addslashes($_POST['marca']);
$descrizione=addslashes($_POST['descrizione']);
$codice=addslashes($_POST['codice']);
$prezzo=addslashes($_POST['prezzo']);
$conn = @mysql_connect("localhost","root","") or die("connessione fallita");
@mysql_select_db("esercizi") or die ("connessione fallita");
$sql = "INSERT INTO registro (nome, marca, descrizione, codice, prezzo) VALUES ('$nome','$marca','$descrizione','$codice','$prezzo')";
$risultato = @mysql_query($sql) or die ("query fallita");
print "<font size=3 face=terminal>Inserimento effettuato correttamente.</font><a href=scheda.php>SCHEDA PRODOTTI</a>";
}
?>
<br><br><br><br><br><br><br><br>
<a href=catalogo.php><img border=0 src=logo/indietro.gif></a>
<a href=index.php><img align=right border=0 src=logo/home.gif></a>
</body>
</html>
qui ce la insert into, vengono inseriti i prodotti nel data base ;)
Boh, non saprei il perchè di quei notice :confused:...
Ma l'inserimento dei dati nel database avviene correttamente?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.