Errori in una pagina php

newanfa

Utente Attivo
12 Mag 2010
131
0
0
Salve grandi amici miei. Sto impazzendo da giorni. Sto seguendo un corso denominato "Webmaster avanzato siti con PHP". In pratica il corso alla fine aiuta a costruire un database di libri con la possibilità di aggiungere o rimuovere dei nuovi ecc...

Alla creazione della pagina "Ricerca" che è la pagina che dovrebbe dare all'utente la possibilità di cercare un titolo o una parola all'interno del database mi escono questa serie di errori. Non so cm'è...Eppure ho fatto copia/incolla del codice del file del corso.
Ecco il link della pagina con gli errori che mi da.

http://img19.imageshack.us/img19/9004/errorejr.jpg

Aiutatemi vi scongiuro!!!

Come server locale uso XAMPP perchè siccome ho windows 7 con easyPHP avevo problemi!
Grazie

Ahhh dimenticavo!!!
Questo è il codice:
Codice:
<html>
<head> echo "<td>$array[lib_tit]</td> ";
<title>Estrazione record</title>
</head>
<body bgcolor="#99CCCC">
<table width="750" bgcolor="#666666" align="center" cellpadding="0" cellspacing="5" border="0">
<tr>
<td>
<div align="center"><h1><font color="#FFFFFF">LIBRI TROVATI</font></h1></div>
<br>
</td>
</tr>
</table>
<br>
<table bgcolor="#FFFFCC" border="1" cellpadding="4" cellspacing="0" width="750" align="center">
<?php
$cerca2=$_POST["cerca"];
$cerca2=trim($cerca2);
include("mysql.php");
$dati = mysql_query("select lib_id, lib_tit, lib_aut from libri where lib_tit LIKE '%".$cerca2."%' OR lib_aut LIKE '%".$cerca2."%'" );
while ($array = mysql_fetch_array($dati))
{
echo "<tr>";
echo "<td>$array[lib_tit]</td> ";
echo "<td><a href=\"06_dettagli.php?id=$array[lib_id]\">dettagli</td> ";
echo "</tr>";
}
mysql_close();
?>
</table>
</body>
</html>
 

nephilim89

Utente Attivo
24 Mar 2010
64
5
0
ciao! che problemi avevi con easyphp??
comunque principalmente ci sono 2 errori, in ordine:
1.qui:
PHP:
<head> echo "<td>$array[lib_tit]</td> ";
<title>Estrazione record</title>
</head>
dopo il tag <head> devi indicare che stai iniziando col php,quindi metti <? e poi ?> prima di </head>.Inoltre la echo scritta cosi non funziona,vedrai scritto "$array[lib_tit]",come gia puoi vedere.scrivi cosi
PHP:
echo "<td>".$array['lib_tit']."</td>";
in questo modo hai "testo"+variabile+"testo" (in php il punto è una congiunzione!) .Lo stesso errore devi correggerlo verso la fine della pagina..

2.non trova il file che effettua la connessione al database. quindi in include("mysql.php") O il percorso è sbagliato, O mysql.php non esiste. hai detto che il codice l'hai copiato, magari nella guida trovi il codice di mysql.php separatamente..

ciao!
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
Grazie in anticipo per le dritte...ma ti dico che gli errori rimangono e pure il fatto che si vede echo "$array[lib_tit] "; in alto a sinistra!

Ma tu non hai la possibilità di provarlo il mio codice?

P.S. ma il comando include("mysql.php") che fà? Cioè quel file dove lo dovrei avere? E se non lo tengo come dovrebbe essere composto?
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
Ciao nephilim89. Grazie ancora per le dritte! Senti, per la maggiorparte degli errori mancava il file mysql.php che non avevo letto bisognava crearlo a parte. Un'ultima cosa. Per il fatto che usciva echo "$array[lib_tit] ";in alto a sinistra, anche modificandolo come hai detto tu usciva. Ma senti una cosa...secondo te non è un errore? Secondo me nello scrivere il codice lo hanno riportato ma li dove sta a mio avviso non ha nessun valore. Infatti se lo tolgo proprio funziona! Mi potresti dare certezza di questo? Grazie
 

nephilim89

Utente Attivo
24 Mar 2010
64
5
0
ciao! allora la funzione include serve a "includere" nel tuo file,un altro file! in modo da poter usare le sue funzioni e le sue variabili. nel tuo caso tu includi quel mysql.php, che presuppongo faccia la connessione al database.
poi quell echo all'inizio della pagina non può funzionare perchè non esiste ancora $array[lib_tit] , in quanto viene creata all'interno del while + in basso. in ogni caso dovrebbe darti un messaggio che ti dice che la variabile non esiste,oppure non farti vedere niente!
se ti esce proprio la scritta $array[lib_tit] significa che stai scrivendo una stringa con la echo,usando male gli apici ".

se tu scrivi:
PHP:
echo "<td>";
echo $array[lib_tit];
echo "</td>";
è la stessa cosa di scrivere:
PHP:
echo "<td>".$array[lib_tit]."</td>";
l'importante è che gli apici delimitino un testo che deve comparire nella pagina html, e che invece le variabili siano senza apici.
poi ti ripeto,all'inizio della pagina non potrai mai vedere il valore di $array[lib_tit] dato che viene creata nel while.quindi questo discorso è per la echo che hai in fondo.

se hai ancora problemi posta tutto il codice.fammi sapere!
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
Guarda ti ricapitolo il tutto. Il problema che non trovava il file.php l'ho risolto! Ora funziona tutto alla perfezione tranne che in alto a sinistra compare il solito errore come puoi vedere dall'immagine:
errorea.jpg
.

Tale errore compare sia con il mio codice originale sia con le tue correzioni.

Ti chiedo:
1) Qual'è il significato e la funzione di quell'eco nell'HEAD? Non è che è un errore e non ci deve essere? Perchè se tolgo quello, l'errore scompare!

Ti riposto il codice completo:
<html>
<head> echo "<td>$array[lib_tit]</td>";
<title>Estrazione record</title>
</head>
<body bgcolor="#99CCCC">
<table width="750" bgcolor="#666666" align="center" cellpadding="0" cellspacing="5" border="0">
<tr>
<td>
<div align="center"><h1><font color="#FFFFFF">LIBRI TROVATI</font></h1></div>
<br>
</td>
</tr>
</table>
<br>
<table bgcolor="#FFFFCC" border="1" cellpadding="4" cellspacing="0" width="750" align="center">
<?php
$cerca2=$_POST["cerca"];
$cerca2=trim($cerca2);
include("mysql.php");
$dati = mysql_query("select lib_id, lib_tit, lib_aut from libri where lib_tit LIKE '%".$cerca2."%' OR lib_aut LIKE '%".$cerca2."%'" );
while ($array = mysql_fetch_array($dati))
{
echo "<tr>";
echo "<td>$array[lib_tit]</td>";
echo "<td><a href=\"06_dettagli.php?id=$array[lib_id]\">dettagli</td> ";
echo "</tr>";
}
mysql_close();
?>
</table>
</body>
</html>

Grazie
 

nephilim89

Utente Attivo
24 Mar 2010
64
5
0
non funziona perchè devi aprire il php!
NON:
PHP:
<head> echo "<td>$array[lib_tit]</td>";
MA:
PHP:
<head>
<?php 
echo "<td>".$array[lib_tit]."</td>";
?>

echo serve unicamente a stampare del testo o i valori delle variabili. ma comunque nell'head non ci sta a fare niente. 1. perchè nell'head non si mette del testo, 2. perchè cmq la variabile è vuota.

quindi toglila e basta!
 
Ultima modifica:

newanfa

Utente Attivo
12 Mag 2010
131
0
0
Quindi secondo te, leggendo il mio codice, quella nell'HEAD sarà stato un errore di stampa np?. QUindi la posso tranquillamente togliere?
Dammi l'ultima conferma. Ciao e grazie 1000!
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
Ciao nephilim89, ho bisogno ancora del tuo grande aiuto!
Ho completato quel famoso corso che ti dicevo che non fa altro che creare in php delle pagine che ti permettono di inserire dei libri in unDB e ti da la possibilità di eliminarli o modificarli.

Alla fine però mi rendo conto che il tutto non funziona come dovrebbe...Ti dico gli errori:
1) In pratica io inserisco il titolo, l'autore, il prezzo e la descrizione tramite il file php "02_formInse". Tutto ok. Mi esce la pagina di conferma "03_inse.php" che mi dice quello che ho inserito con tutti i dettagli. Poi clicco -visualizza tutti i libri- che mi porta nella pagina "01_estrazione.php" che mi mostra l'aggiornamento di tutti i miei libri. Quando da questa pagina clicco su -dettagli- o -modifica- che mi portano rispettivamente alle pagine "06_dettagli.php" e "07_modifica.php" non mi compare la descrizione dei libri.

2)Nella pagina 06_dettagli mi esce questo errore boleano :"Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\fabio\06_dettagli.php on line 23"

3)Nella pagina 07_modifica mi esce questo errore:"Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\fabio\07_modifica.php on line 25"

4)nella pagina 10_estrpag mi esce questo errore:"Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\fabio\10_estrpag.php on line 27"

Mi aiuti per favore???Ti scongiuro!!!


Per una tua migliore comprensione ti scrivo i file zip che contiene tutte le pagine php casomai ti serve! Grazie in anticipo.
 

Allegati

  • corso.zip
    6,7 KB · Visite: 115

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
Quando clicchi su dettagli o modifica assicurati che il parametro id sia valorizzato sulla url. La pagina 06_dettagli.php recupera in get tale parametro e poi effettua la select da DB. Probabilmente la select non va a buon fine.
Controlla sul DB se i campi lib_id della tabella libri sono correttamente valorizzati.
 

nephilim89

Utente Attivo
24 Mar 2010
64
5
0
nella pagina 03 c'è un errore nella query: per lib_desc viene preso il valore di $descrizione, che non esiste. La variabile giusta si chiama $desc, come puoi vedere all'inizio della pagina.
quindi avviene che la query inserisce tutti gli altri valori nel database ma NON descrizione,che viene lasciato vuoto. Per questo motivo in 06_dettagli e 07_modifica non vedi la descrizione.

in 08_modifica non c'è $id. quindi la select non funziona e non viene modificato niente!

modificalo poi vedi se anche gli altri errori ci sono ancora, perchè a me non ne da altri!
 
Ultima modifica:

newanfa

Utente Attivo
12 Mag 2010
131
0
0
Ci siamo quasi.
Nella 03 ho modificato $descrizione con $desc. Nella 08 ho aggiunto $id = $_POST["id"];. Ora le modifiche funzionano tutte.

Rimangono però gli errori delle pagine 06-07-10 nelle quali compare rispettivamente l'errore:
"Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\fabio\06_dettagli.php on line 23"

"Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\fabio\07_modifica.php on line 25"

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\fabio\10_estrpag.php on line 27".

Da che dipende?

P.s: Se ti può servire il mio db si chiama corso, ha una tabella di nome libri ed ha 5 campi:lib_id(chiave primaria), lib_aut, lib_tit, lib_prezzo, lib_desc
 

rinks

Nuovo Utente
18 Mag 2010
1
0
0
The error and logging functions allows error handling and logging.

The error functions allow users to define error handling rules, and modify the way the errors can be logged.

The logging functions allow users to log applications and send log messages to email, system logs or other machines.
 

nephilim89

Utente Attivo
24 Mar 2010
64
5
0
innanzittutto puoi provare a verificare che la query venga eseguita facendo cosi:
PHP:
if ( $dati = mysql_query("select * from libri where lib_id = $id "))
{
//il resto del codice
}

poi è sempre meglio essere precisi con la sintassi delle query,cioè:
-parole "chiave" tipo select,from,where MAIUSCOLI
-i valori tra apici singoli
-i nomi dei campi e delle tabelle tra apici inversi `libri`
quindi
PHP:
mysql_query("SELECT * FROM `libri` WHERE `lib_id` = '$id' ")

prova cosi!
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
Gli errori della pagina 6 e 7 risolti. Ora mi rimane l'errore della pagina 10 che nonostante abbia modificato come hai detto tu mi rimane.

Alla pagina 10 ho modificato la stringa così:
$limiteQuery = mysql_query("SELECT `lib_id`, `lib_tit` from `libri` LIMIT '$prRec', '$perPagina' ");

ma mi da sempre questo errore:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\fabio\10_estrpag.php on line 27.
 

nephilim89

Utente Attivo
24 Mar 2010
64
5
0
altro errore di variabili. $prRec non esiste!

il corso che hai scelto è veramente fatto male! cercatene un altro, ce ne sono un infinità sul php + mysql
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
se mysql_fetch_array() ti da un errore, è probabile che questo stia in mysql_query, prova così aggiungendo un mysql_error() per rilevare gli errori
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
Ciao gentilissimo nephilim89.
Mi hai detto che $prRec non esiste! Ma ora non so che fare. Guarda, se fosso ulteriormente approfittare della tua gentilezza ti allego il file del corso per la creazione della pagina 10.
Perchè vorrei risolvere il problema in quanto ho finito il corso e mi manca la pagina più importante. Grazie ciao
 

Allegati

  • corso.doc
    49,5 KB · Visite: 264
Discussioni simili
Autore Titolo Forum Risposte Data
G Errori PHP è possibile fare un redirect ad una pagina d'errore? PHP 3
W [PHP] Visualizzare errori su Statements in MySQLi PHP 3
D Errori dopo installazione certificato SSL in Wordpress WordPress 0
I [HTML] HTML validator, chi mi spiega questi errori? HTML e CSS 1
A [Javascript] intercettare errori JS Javascript 1
P Reindirizzamento errori url Web Server 0
F PHP, PDO e visualizzazioni errori e/o eccezioni PHP 3
F Errori console jQuery 0
maicol07 [PHP][MySQL] Risoluzione errori PHP 1
G [PHP] Socket server in loop infinito errori PHP 2
E [PHP] GUMP: mostrare gli errori tramite array PHP 1
F [Javascript] Errori Console JS Javascript 1
S [PHP] Errori in lato server ma non in lato client PHP 5
felino [WordPress] File di log degli errori WordPress 6
L [WordPress] Errori - Lato client dalla console del browser WordPress 1
booklisa [WordPress] Errori vari console chrome, redirect file .htaccess + internalizza risorse WordPress 1
booklisa Errori wordpress personalizzazione tema post aggiornamento 4.7 CMS (Content Management System) 0
A errori scripts index.php PHP 42
V [PHP] [OOP]Gestione errori connessione db PHP 5
M Problema errori su mysqli PHP 4
O Form dopo errori PHP 9
filomeni Restyling sito ed errori 404 SEO e Posizionamento 2
MarcoGrazia [PHP][PDO][MySQL] Non registra ma non da nemmeno errori. PHP 0
F controllo form php con restituzione errori nella form PHP 10
D Problema errori di scansione 404 SEO e Posizionamento 1
enzonero Sito personale su wordpress con errori W3C WordPress 2
P Problema con file di registrazione in php, non funziona e dà continui errori PHP 0
MarcoGrazia [PDO] insert che non inserisce e non da errori PHP 1
T Errori di sintassi nel seguente codice Javascript 1
il_bauscia errori di file system: programma free per correggere? Hardware 1
Z sitemap con Yoast: molti errori in Google webmaster tools Google Search Console 10
il_bauscia Errori 404 e strumenti per webmaster di Google Google Search Console 1
M Errori nella connessione e in AspSmartUpload Classic ASP 4
G [risolto] Errori php/javascript Javascript 2
pup3770 Errori iniziali codice app android Sviluppo app per Android 3
H Errori mysqli_query() PHP 9
MarcoGrazia Strumenti di Webmaster: errori di scansione! Google Search Console 1
H Script per visualizzare ip mi dà errori! PHP 0
Marcolotto lettere accentate HTML: strani errori HTML e CSS 1
A gestire errori 400-401-403-404-500 con file htaccess PHP 0
Emix Scarico Quantita e correzzione errori PHP 41
P accesso al database ed errori Database 5
A Errori wordpress WordPress 3
M errori pagina httpd.conf in APACHE per installare wp WordPress 0
F errori sul recupero dati mysql e php PHP 3
P Errori su variabili dell'insert PHP 28
S Mi aiutate a capire questi errori? Wordpress WP 3.3.1 error_log CMS (Content Management System) 3
I Form... giudizio, consigli, errori, possibili miglioramenti.... PHP 5
borgo italia Errori nella visualizzazione della pagina HTML e CSS 5
P Errori al validatore html HTML e CSS 10

Discussioni simili