[PHP]

Achille610@

Utente Attivo
18 Apr 2017
75
0
6
50
Ciao a tutti,
spero che qualcuno possa riuscire a farmi capire che succede, utilizzo questo codice per le immagini dei miei siti e non è mai successo, ieri ne ho iniziato uno nuovo e a differenza delle altre volte mi viene sempre fuori id=99 al posto dell'id che passa la url !!!

la cosa strana che la query del listato mi possa correttamente titolo ecc compresa la foto

PHP:
<?php
//includiamo il file della classe
@require("paginazione.php");

//connettiamoci a MySQL e selezioniamo il database
class MySQL
{ 
function MySQL() 
{ 
require "db_connect.php";
} 
} 

$data = new MySQL();

// istanziamo la classe per l'impaginazione
$p = new Paging;

// numero massimo di risultati per pagina
$max = 6;

// identifichiamo la pagina da cui iniziare la numerazione
$inizio = $p->paginaIniziale($max);


// contiamo i records nel database
// contiamo i records nel database
$query_count = @mysql_query(
"SELECT * FROM
     caprette INNER JOIN pippo ON (caprette.pippoid=pippo.id )
     INNER JOIN pluto ON (caprette.plutoid=pluto.id )
     INNER JOIN users ON (caprette.user_id=users.id)
      
WHERE
 pippo.pippo='minnie' AND pluto.pluto='paperino' ORDER BY `id_annunci` DESC ")
  
     or die (mysql_error());
$count = @mysql_num_rows($query_count) or die (mysql_error());

// troviamo il numero delle pagine che dovr� essere contato
$pagine = $p->contaPagine($count, $max);

// limitiamo la SELECT al numero di risultati per pagina
$obj_titolo = @mysql_query(
"SELECT * FROM
     caprette INNER JOIN pippo ON (caprette.pippoid=pippo.id )
     INNER JOIN pluto ON (caprette.plutoid=pluto.id )
     INNER JOIN users ON (caprette.user_id=users.id)
      
WHERE
 pippo.pippo='minnie' AND pluto.pluto='paperino' ORDER BY `id_annunci` DESC LIMIT ".$inizio.",".$max) or die (mysql_error());


//recuperiamo i dati da stampare


while ($row = mysql_fetch_array($obj_titolo)) { 

$click_annuncio = $row['click_annuncio'];
$id_annunci = $row['id_annunci'];
$user_id = $row['id'];
 
  $messaggio = substr($row['messaggio'], 0, 100); 
  $mq = $row['mq']; 
  $tipologia = $row['tipologia'];
  $titolo = $row['titolo'];
     $tipo = $row['tipo'];
   $locali = $row['locali'];
  $username = $row['username'];
          
   $nome_file = $row['nome_file'];
  $tipo_file = $row['tipo_file'];
  $dati_file = $row['dati_file'];
  
 

// stampiamo i nostri dati


        echo "  <p><a href=\"https://prova.net/pippo/pluto/risultato.php?id=$id_annunci\"/><img src='immagini2ricette.php?id_annunci=$id_annunci' name='$nome_file' alt'$nome_file' title='$titolo' class='img-responsive'  /></a></p>";
    
          
}


//mostriamo le pagine
$lista = $p->listaPagine($_GET['p'], $pagine);
echo $lista . "<br>";

//mostriamo il navigatore Precedente/Successiva
$navigatore = $p->precedenteSuccessiva($_GET['p'], $pagine);
echo $navigatore;
?>

quando clicco su <a href=\"https://prova.net/pippo/pluto/risultato.php?id=$id_annunci\ solitamente vado alla notizia e trovo tutti i dati, e la foto con l'id corretto, in questo caso i dati me li passa correttamente ma l'immagine non si carica e se provo ad aprirla mi da sempre id=99

qualcuno sa dirmi quale potrebbe essere il problema oppure che controllo potrei fare per capire, visto che con gli altri siti non mi capita e mi da tutto correttamente :( :(

immagini.php (con questo estraggo l'immagine a video)

PHP:
<?php 

require ("db_connect.php"); 

$query = "SELECT * FROM pompe WHERE id_annunci = '".$_GET['id_annunci']."' ";   

$arrResult = mysql_fetch_array(mysql_query($query));   

header("Content-type: ".$arrResult['tipo_file']);   
echo $arrResult['dati_file']; 

// da questo punto in poi non deve esserci nient'altro 
?>
 
Ultima modifica di un moderatore:

Achille610@

Utente Attivo
18 Apr 2017
75
0
6
50
dimenticavo i dati nella pagina del risultato li passo con questa query


PHP:
<?php

require ("db_connect.php"); 

$id_annunci=$_GET['id'];


$query = mysql_query (
"SELECT * FROM
     caprette INNER JOIN pippo ON (caprette.pippoid=pippo.id )
     INNER JOIN pluto ON (caprette.plutoid=pluto.id )
     INNER JOIN users ON (caprette.user_id=users.id)
       WHERE id_annunci=$id_annunci LIMIT 1"); 



if (!$query) {
  exit('<p>Error performing query: ' . mysql_error() . '</p>');
}


while ($row = mysql_fetch_array($query)) {
$user_id = $row ['id'];
$titolo = $row ['titolo'];
$id_annunci = $row ['id_annunci'];
$click_annuncio = $row ['click_annuncio'];
$messaggio = substr($row['messaggio'], 0, 10000); 
 $cittas = $row ['cittas'];
  $via = $row ['via'];
 
 $nome_file2 = $row ['nome_file2'];
  $tipo_file2 = $row ['tipo_file2'];
  $dati_file2 = $row ['dati_file2'];
$time = $row ['time'];
} 
?>
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.449
338
83
Quando si apre una nuova discussione bisogna inserire un titolo esplicativo del contenuto della discussione come da regolamento del forum che dovresti leggere attentamente
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
non è semplice dirti dove si genera l'errore, bisognerebbe provare lo script creandosi il db.
intanto dovresti vedere sul browser passando il mouse sopra i link se l'id è corretto, cioe dovresti vedere esempio
https://prova.net/pippo/pluto/risultato.php?id=32 o altro id
poi netti dei var_dump appena prima di dove usi la variabile in modo da capire dove sia annida l'errore
 

Achille610@

Utente Attivo
18 Apr 2017
75
0
6
50
Ho fatto il var_dump e la cosa allucinante è:

<?php echo "<img src='immagini2.php?id_annunci=$id_annunci' name='$nome_file' alt'$nome_file' title='$titolo' class='img-responsive' /><br /><br />";?>
<?php echo var_dump($id_annunci)."<br>";?>

mi restituisce sempre questo id 99 che non c'è neanche nel db, mentre la url a l'id corretto es: https://prova.net/pippo/pluto/risultato.php?id=6
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
dovresti fare una prova
chiama la pagina dove hai
PHP:
//....
 echo "  <p><a href=\"https://prova.net/pippo/pluto/risultato.php?id=$id_annunci\"/><img src='immagini2ricette.php?id_annunci=$id_annunci' name='$nome_file' alt'$nome_file' title='$titolo' class='img-responsive'  /></a></p>";
//...
e guarda il sorgente della pagina dovresti vedere qualcosa del genere
HTML:
....
<p><a href="https://prova.net/pippo/pluto/risultato.php?id=22"/><img src='immagini2ricette.php?id_annunci=22' name='pinco' alt'$nome_file' title='pinco' class='img-responsive'/></a></p>
<p><a href="https://prova.net/pippo/pluto/risultato.php?id=23"/><img src='immagini2ricette.php?id_annunci=23' name='pallo' alt'pallo' title='pinco' class='pallo'/></a></p>
...
comunque una cosa: dici che estrai le immagini da un file chiamato immagini.php, ma non vedo dove tu richiami tale file
 

Achille610@

Utente Attivo
18 Apr 2017
75
0
6
50
ciao il file lo richiamo con
img src='immagini2ricette.php?


dovresti fare una prova
chiama la pagina dove hai ... cosa intendi ????????
se intendi di scrivere la url a mano funziona, nel senso che quando mi restituisce https://prova.net/pippo/pluto/risultato.php?id=99 se io al posto di 99 metto l'id corretto mi tira fuori la foto...

la cosa strana é che con la stessa query ecc su un'altro dominio funziona correttamente
 

Achille610@

Utente Attivo
18 Apr 2017
75
0
6
50
se intendi questa:

PHP:
<?php
//includiamo il file della classe
@require("paginazione.php");

//connettiamoci a MySQL e selezioniamo il database
class MySQL
{
function MySQL()
{
require "db_connect.php";
}
}

$data = new MySQL();

// istanziamo la classe per l'impaginazione
$p = new Paging;

// numero massimo di risultati per pagina
$max = 6;

// identifichiamo la pagina da cui iniziare la numerazione
$inizio = $p->paginaIniziale($max);


// contiamo i records nel database
// contiamo i records nel database
$query_count = @mysql_query(
"SELECT * FROM
     caprette INNER JOIN pippo ON (caprette.pippoid=pippo.id )
     INNER JOIN pluto ON (caprette.plutoid=pluto.id )
     INNER JOIN users ON (caprette.user_id=users.id)
     
WHERE
 pippo.pippo='minnie' AND pluto.pluto='paperino' ORDER BY `id_annunci` DESC ")
 
     or die (mysql_error());
$count = @mysql_num_rows($query_count) or die (mysql_error());

// troviamo il numero delle pagine che dovr� essere contato
$pagine = $p->contaPagine($count, $max);

// limitiamo la SELECT al numero di risultati per pagina
$obj_titolo = @mysql_query(
"SELECT * FROM
     caprette INNER JOIN pippo ON (caprette.pippoid=pippo.id )
     INNER JOIN pluto ON (caprette.plutoid=pluto.id )
     INNER JOIN users ON (caprette.user_id=users.id)
     
WHERE
 pippo.pippo='minnie' AND pluto.pluto='paperino' ORDER BY `id_annunci` DESC LIMIT ".$inizio.",".$max) or die (mysql_error());


//recuperiamo i dati da stampare


while ($row = mysql_fetch_array($obj_titolo)) {

$click_annuncio = $row['click_annuncio'];
$id_annunci = $row['id_annunci'];
$user_id = $row['id'];
 
  $messaggio = substr($row['messaggio'], 0, 100);
  $mq = $row['mq'];
  $tipologia = $row['tipologia'];
  $titolo = $row['titolo'];
     $tipo = $row['tipo'];
   $locali = $row['locali'];
  $username = $row['username'];
         
   $nome_file = $row['nome_file'];
  $tipo_file = $row['tipo_file'];
  $dati_file = $row['dati_file'];
 
 

// stampiamo i nostri dati


        echo "  <p><a href=\"https://prova.net/pippo/pluto/risultato.php?id=$id_annunci\"/><img src='immagini2ricette.php?id_annunci=$id_annunci' name='$nome_file' alt'$nome_file' title='$titolo' class='img-responsive'  /></a></p>";
   
         
}


//mostriamo le pagine
$lista = $p->listaPagine($_GET['p'], $pagine);
echo $lista . "<br>";

//mostriamo il navigatore Precedente/Successiva
$navigatore = $p->precedenteSuccessiva($_GET['p'], $pagine);
echo $navigatore;
?>

questa restituisce tutto correttamente, l'id me lo perde quando cliccli sul link echo " <p><a href=\"https://prova.net/pippo/pluto/risultato.php?id=$id_annunci\"/><img src='immagini2ricette.php?id_annunci=$id_annunci' name='$nome_file' alt'$nome_file' title='$titolo' class='img-responsive' /></a></p>";


che mi porta a questa pagina :(

PHP:
<?php

require ("db_connect.php");

$id_annunci=$_GET['id'];


$query = mysql_query (
"SELECT * FROM
     caprette INNER JOIN pippo ON (caprette.pippoid=pippo.id )
     INNER JOIN pluto ON (caprette.plutoid=pluto.id )
     INNER JOIN users ON (caprette.user_id=users.id)
       WHERE id_annunci=$id_annunci LIMIT 1");



if (!$query) {
  exit('<p>Error performing query: ' . mysql_error() . '</p>');
}


while ($row = mysql_fetch_array($query)) {
$user_id = $row ['id'];
$titolo = $row ['titolo'];
$id_annunci = $row ['id_annunci'];
$click_annuncio = $row ['click_annuncio'];
$messaggio = substr($row['messaggio'], 0, 10000);
 $cittas = $row ['cittas'];
  $via = $row ['via'];
 
 $nome_file2 = $row ['nome_file2'];
  $tipo_file2 = $row ['tipo_file2'];
  $dati_file2 = $row ['dati_file2'];
$time = $row ['time'];
}
?>


questo non capisco come mai, visto che l'id che si porta dietro è corretto, tranne quello della foto

curiosità potrebbe essere un errore dato dalla versione del php, cisto che ho aggiornato l'altro giorno l'hosting e mi sa che sono passato alla versione 5.5[/PHP]
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
si intendo quella (almeno la prima parte perchè sembrerebbero due file staccati) comunque quella in cui, come detto, hai echo " <p><a href=\"https://prova.net...ecc..
guardando col browser il codice sorgente dovresti vedere come si è formato l'html e se non c'è quel 99
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prova a mettere un echo per verificare i valori di id_annunci che poi dovresti trovare nel link e guarda cosa risulta
PHP:
//.........
while ($row = mysql_fetch_array($obj_titolo)) {
    $click_annuncio = $row['click_annuncio'];
    echo $row['id_annunci']."<br>";//poi questa riga la togli
    $id_annunci = $row['id_annunci'];
    $user_id = $row['id'];
//..ecc.....
se li risulta solo 99 l'errore è probabilmente nella query
 

Achille610@

Utente Attivo
18 Apr 2017
75
0
6
50
mi da id 6 correttamente

che strana sta cosa :( ripeto sugli altri funziona qui non si porta dietro l'id solo della foto
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
un momento "correttamente"?
da quello che vedo sei all'interno di un while quindi ti da 6 se hai un record solo e con id=6, ma se ne hai più di uno dovrebbe presentarti tanti idi quanti devono risultare dalla paginazione, esempio
 

Achille610@

Utente Attivo
18 Apr 2017
75
0
6
50
hai ragione, io avevo capito che dovevo metterla nella pagina che mi restituisce il risultato, se la metto nella quelli della paginazione il risultato è: id=1 2 3 4 5 6 7 8 ecc ecc
 

Achille610@

Utente Attivo
18 Apr 2017
75
0
6
50
Giorno a tutti, nessuno riesce a capire cosa possa succedere :( io continuo a provare e riprovare, il listato della paginazione è corretto e riporta gli id del titolo foto ecc correttamente, solo la pagina del risultato mi da questo errore non capisco proprio cosa possa succedere, anche il titolo della foto è corretto, solo l'immagine sempre id99
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
per prima cosa nella pagina risultato.php metti un var_dump
PHP:
<?php
require ("db_connect.php");
$id_annunci=(int)$_GET['id'];//forzalo ad intero
var_dump($id_annunci);
//....
?>
e se nella pgina che rihiama clicchi sul link es.
<a href="https://prova.net/pippo/pluto/risultato.php?id=7"/>....
il var_dump dovrebbe riportarti 7
poi sempre nella pagina risultato.php dato che estrai un solo record
modifica la query nel where devi dirgli in che tabella andare a a prendere id_annunci (io ho messo caprette ma devi saperlo tu), e togli il LIMIT perche immagino che id_annunci sia unico (una primarykey?)
PHP:
<?php
///....
$query = mysql_query (
"SELECT * FROM
     caprette INNER JOIN pippo ON (caprette.pippoid=pippo.id )
     INNER JOIN pluto ON (caprette.plutoid=pluto.id )
     INNER JOIN users ON (caprette.user_id=users.id)
       WHERE caprette.id_annunci=$id_annunci");

//....
?>
e dato che estrai comunque solo un record (così almeno mi sembra) non usare il while
PHP:
<?php
//....
$row = mysql_fetch_array($query);
$user_id = $row ['id'];
//...ecc...
?>
 

Achille610@

Utente Attivo
18 Apr 2017
75
0
6
50
Ciao,
grazie mille per la risposta..

Allora il giallo si infittisce e ripeto che con tutti gli altri siti funzionava correttamente :(

Ho apportato le modifiche che mi hai detto:

PHP:
<?php
require ("db_connect.php");
$id_annunci=(int)$_GET['id'];//forzalo ad intero
var_dump($id_annunci);
//....
?>

 WHERE caprette.id_annunci=$id_annunci");  "ovviamente ho messo il nome corretto al posto di caprette"

[PHP/]

Restituisce correttamente id 9 mentre la foto sempre id 99

ma che cavolo può essere sto impazzendo
 

Allegati

  • vurdump.png
    vurdump.png
    3,9 KB · Visite: 144
Discussioni simili
Autore Titolo Forum Risposte Data
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0

Discussioni simili