PDA

View Full Version : problemi con php


Fede83
08-10-2004, 08:29
ciao a tutti, ecco il mio problema

sto facendo la parte amministratore del mio sito, sono arrivata al punto di inserire i prodotti in determinate categorie, i link delle categorie li ho fatti cosi : <a target=centro href=\"view.php?id=$linea[idcategoria]\">

per cui i prodotti che inserisco andranno a finire in un unico database che si chiama Prodotti. Poi tutte le categorie sono lincate alla pagina view.php, e in base all'idcategoria si visualizzeranno i prodotti di una determinata categoria.(l'inserimeto prodotti avviene cosi: in una tabella inserisco tutti i dati del prodotto, e con un menu a tendina scelgo dove deve inserirsi questo prodotto)Fino qui ci siamo, il problema sta nel database, perche nella tabella prodotti ho messo il campo idcategoria qui si dovrebbe memorizzare il numero della categoria esempio 2 corrisponde alla categoria accessori, 3 corrisponde a modem eccetera, il problema e che rimane sempre a zero questo campo, e per cui quando clicco sul link accessori dovrebbe andare sul database Prodotti e selezionare tutti i prodotti che hanno un id categoria pari a 2, ma non mi visualizza niente perche zero non corrisponde a nessuna categoria.


Spero che possiate aiutarmi. Grazie:muro:

beppegrillo
08-10-2004, 08:42
Originariamente inviato da Fede83
ciao a tutti, ecco il mio problema

sto facendo la parte amministratore del mio sito, sono arrivata al punto di inserire i prodotti in determinate categorie, i link delle categorie li ho fatti cosi : <a target=centro href=\"view.php?id=$linea[idcategoria]\">

per cui i prodotti che inserisco andranno a finire in un unico database che si chiama Prodotti. Poi tutte le categorie sono lincate alla pagina view.php, e in base all'idcategoria si visualizzeranno i prodotti di una determinata categoria.(l'inserimeto prodotti avviene cosi: in una tabella inserisco tutti i dati del prodotto, e con un menu a tendina scelgo dove deve inserirsi questo prodotto)Fino qui ci siamo, il problema sta nel database, perche nella tabella prodotti ho messo il campo idcategoria qui si dovrebbe memorizzare il numero della categoria esempio 2 corrisponde alla categoria accessori, 3 corrisponde a modem eccetera, il problema e che rimane sempre a zero questo campo, e per cui quando clicco sul link accessori dovrebbe andare sul database Prodotti e selezionare tutti i prodotti che hanno un id categoria pari a 2, ma non mi visualizza niente perche zero non corrisponde a nessuna categoria.


Spero che possiate aiutarmi. Grazie:muro:
Da dove lo prendi $linea[idcategoria]? Magari se fai vedere anche un pò di codice possiamo trovare l'errore, che sarà sicuramente inerete ad un mancata assegnazione a quell'array.:)

Fede83
08-10-2004, 09:36
OK ALLORA TI MANDO IL CODICE:

SINISTRA.PHP (L'HO CHIAMATO COSI PERCHE HO FATTO UN FRAME E LE CATEGORIE SI TROVANO A SINISTRA)


<html>

<head>
<title></title>
</head>
<!--sottolineatura link no--->
<STYLE type="text/css">
a {
TEXT-DECORATION: none;
}
a:hover {
TEXT-DECORATION:underline
}
</STYLE>
<STYLE type="text/css">
a {text-decoration: none; font-weight: normal}
a:hover {font-weight: bold}
</STYLE>


<body >

<?php
error_reporting (0);
$conn = @mysql_connect("localhost","root","") or die("connessione fallita");
@mysql_select_db("computergratis") or die ("connessione fallita");
$sql = "SELECT * FROM categorie";
$risultato = @mysql_query($sql) or die ("query fallita");

print "<table background=sfondi/blu.jpg style=border-style:double ;border-width:6 bordercolor=black align=center > ";

while ($linea = mysql_fetch_array($risultato)) {
print "<tr>";
print "<td colspan=2 ><font size=1 face=arial color=black><a target=centro href=\"view.php?id=$linea[idcategoria]\">".$linea['categoria']."</a></font></td>";



}
print "</tr></table>";



?>

</body>

</html>


PRODOTTI.PHP




<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>
<?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("computergratis") or die ("connessione fallita");

$sql = "INSERT INTO prodotti(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>";


}
?>
<form action="prodotti.php" method="post">
<table border="1" bordercolor="black" align="center">
<tr>
<td colspan="2" bgcolor="white"><font align="center" size="5" face="Courier"><b>Dati del Prodotto</b></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">Categoria</font></td>
<td><select name="categoria">
<?
$sql="SELECT * FROM categorie;";
$result=mysql_query($sql) or die($sql);
while($line=mysql_fetch_array($result)){
print "<option value=".$line['idcategoria'].">".$line['categoria'];
}

?>

</select>
</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 bgcolor="white"><font size="3" face="arial">Foto</font></td>
<td><input type="file" name="foto"></td>
</tr>
<tr>
<td colspan="2" align="center" bgcolor="white"><input type="submit" name="inserisci" value="inserisci"></td>
</tr>
</table>
</form>

<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>


FAMMI SAPERE E GRAZIE :confused:

VICIUS
08-10-2004, 09:50
Originariamente inviato da Fede83
[...]
<a target=centro href=\"view.php?id=$linea[idcategoria]\">
[...]

Allora mi pare di aver capito che idcategoria è il nome del campo che vuoi selezionare ma in quel modo php non lo trovera mai. Devi metterlo tra due " oppure '.
Inoltre quando vuoi dereferenziare un array all'interno di una stringa che usa " non puoi fare come per le variabili. L'interprete del php non puo capire dove inizia o finisce la varibile del array quindi devi mettere tutto tra { }.
alla fine dovrebbe essere qualcosa di simile a questo:
echo "<a tagret=\"centro\" href=\"view.php?id={$linea['idcategoria']}\">";

ciao ;)

Fede83
08-10-2004, 09:55
ok grazie :mc: