Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    27

    register_globals on, register_globals off????

    Sono diversi giorni che impazzisco dietro ad un tutorial per un motore di ricerca. Il tutto mi funziona in locale alla perfezione, in remoto niente.
    Ho letto di questo problema della nuova versione 5 in cui le variabili inviate da un form devono essere scritte diversamente. Ho provato in tutti i modi possibili, attivando e disattivando 'register_globals' e semplificando al massimo il code.
    Ora la domanda che mi pongo: se io e il server utilizziamo PHP4 questo problema non dovrebbe esistere?
    Allora come è posssibile che lo stesso file sul mio server funziona e su TISCALI niente, aggiornando chiaramente host, username etc etc
    Sono alle prime armi e non vorrei scoraggiarmi, dopo essermi grandemente entusiasmato per questo meraviglioso linguaggio di programmazione.
    Vi prego AIUTATEMI. Vi ringrazio tutti in anticipo

    Ecco il code:

    <HTML>

    <?php

    if ($searchstring)
    {

    $sql=("SELECT * FROM libri WHERE titolo LIKE'%$searchstring%' or autore LIKE'%$searchstring%' or isbn LIKE'%$searchstring%'");
    $db = mysql_connect("localhost", "zapata");
    mysql_select_db("mio",$db);
    $result = mysql_query($sql,$db);
    $number = mysql_numrows($result);

    if ($number <1) {
    print "Non ci sono risultati nella tua ricerca";
    }

    while($myrow = mysql_fetch_array($result))
    {

    echo "<TR><TD>".$myrow["autore"]." - <TD>".$myrow["titolo"]."</TD><TD> scheda</p></TD>";
    }
    echo "</TABLE>";
    }

    else
    {

    ?>

    <form action="<?php $PHP_SELF ?>" method="POST" name="search" target="_blank">
    <input name="searchstring" type="text" size="16" />

    <input type="hidden" name="searching" value="yes" />
    <input type="submit" name="search" value="go" />
    </form>

    <?php
    }
    ?>
    </HTML>

  2. #2

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    27
    grazie per l'aiuto. In effetti avevo gia letto il post e provveduto all'aggiornamento del file, ma continuo ad avere problemi.
    Ho settato register_global su Off, ho sostituito tutte le var POST con $_POST nella maniera giusta ed ho anche aggiunto quella parte di code suggerito nel thread, ma niente; dopo aver inserito una ricerca mi da quest'errore:
    Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in /rootdomain/it/i/n/intramoenia.it/public_html/SearchLIBRI2.php on line 21
    Non ci sono risultati nella tua ricerca
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /rootdomain/it/i/n/intramoenia.it/public_html/SearchLIBRI2.php on line 27


    Ecco il code aggiornato (se mi dai un'occhiata mi faresti felice):

    <HTML>
    <?php
    if(!isset($_SERVER) OR !$_SERVER OR !is_array($_SERVER) OR count(array_diff($_SERVER, $HTTP_SERVER_VARS))){
    $_GET = &$HTTP_GET_VARS;
    $_POST = &$HTTP_POST_VARS;
    $_SERVER = &$HTTP_SERVER_VARS;
    $_ENV = &$HTTP_ENV_VARS;
    $_COOKIE = &$HTTP_COOKIE_VARS;
    $_FILES = &$HTTP_POST_FILES;
    $_SESSION = &$HTTP_SESSION_VARS;
    }

    if ($_POST['searching'] =="yes")
    {

    $sql=("SELECT * FROM libri WHERE titolo LIKE'%$searchstring%' or autore LIKE'%$searchstring%' or isbn LIKE'%$searchstring%'");
    $db = mysql_connect("xxxxxx", "xxxxxx", "xxxxxx");
    mysql_select_db("xxxxxx",$db);
    $result = mysql_query($sql,$db);
    $number = mysql_numrows($result);

    if ($number <1) {
    print "Non ci sono risultati nella tua ricerca";
    }

    while($myrow = mysql_fetch_array($result))
    {

    echo "<TR><TD>".$myrow["autore"]." - <TD>".$myrow["titolo"]."</TD><TD> scheda</p></TD>";
    }
    echo "</TABLE>";
    }

    else
    {

    ?>

    <form action="<?php $PHP_SELF ?>" method="POST" name="search" target="_blank">
    <input name="searchstring" type="text" size="16" />

    <input type="hidden" name="searching" value="yes" />
    <input type="submit" name="search" value="go" />
    </form>

    <?php
    }
    ?>
    </HTML>

  4. #4
    hai un errore nella query o connessione che sia con mysql.

    metti la segnalazione d'errore ed eventualmente stampa la query....

    codice:
    echo $sql;
    $result = mysql_query($sql,$db) OR DIE(mysql_error()) ;
    Suggerimento: metti il codice tra tag [ code] o [ php] per renderlo piu' leggibile.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    $_GET = &$HTTP_GET_VARS;

    forse invece di & sarebbe meglio il $

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    27
    Originariamente inviato da piero.mac
    $_GET = &$HTTP_GET_VARS;

    forse invece di & sarebbe meglio il $
    quella parte l'avevo copiata dal thread che mi avevi indicato:
    la soluzione proposta è questa:
    if(!isset($_SERVER) OR !$_SERVER OR !is_array($_SERVER) OR count(array_diff($_SERVER, $HTTP_SERVER_VARS))){
    $_GET = &$HTTP_GET_VARS;
    $_POST = &$HTTP_POST_VARS;
    $_SERVER = &$HTTP_SERVER_VARS;
    $_ENV = &$HTTP_ENV_VARS;
    $_COOKIE = &$HTTP_COOKIE_VARS;
    $_FILES = &$HTTP_POST_FILES;
    $_SESSION = &$HTTP_SESSION_VARS;
    }

    Comunque ho aggiustato le cose che mi avevi indicato adesso mi segnala quest'errore:
    SELECT * FROM libri WHERE titolo LIKE'%%' or autore LIKE'%%' or isbn LIKE'%%'Unknown column 'isbn' in 'where clause'


    Il code aggiornato:

    <HTML>

    <?php
    if(!isset($_SERVER) OR !$_SERVER OR !is_array($_SERVER) OR count(array_diff($_SERVER, $HTTP_SERVER_VARS))){
    $_GET = $HTTP_GET_VARS;
    $_POST = $HTTP_POST_VARS;
    $_SERVER = $HTTP_SERVER_VARS;
    $_ENV = $HTTP_ENV_VARS;
    $_COOKIE = $HTTP_COOKIE_VARS;
    $_FILES = $HTTP_POST_FILES;
    $_SESSION = $HTTP_SESSION_VARS;
    }

    if ($_POST['searching'] =="yes")
    {

    $sql=("SELECT * FROM libri WHERE titolo LIKE'%$searchstring%' or autore LIKE'%$searchstring%' or isbn LIKE'%$searchstring%'");
    $db = mysql_connect("xxxx", "xxxx", "xxxx");
    mysql_select_db("xxxxx",$db);
    echo $sql;
    $result = mysql_query($sql,$db) OR DIE(mysql_error()) ;
    $number = mysql_numrows($result);

    if ($number <1) {
    print "Non ci sono risultati nella tua ricerca";
    }

    while($myrow = mysql_fetch_array($result))
    {

    echo "<TR><TD>".$myrow["autore"]." - <TD>".$myrow["titolo"]."</TD><TD> scheda</p></TD>";
    }
    echo "</TABLE>";
    }

    else
    {

    ?>

    <form action="<?php $PHP_SELF ?>" method="POST" name="search" target="_blank">
    <input name="searchstring" type="text" size="16" />

    <input type="hidden" name="searching" value="yes" />
    <input type="submit" name="search" value="go" />
    </form>

    <?php
    }
    ?>
    </HTML>

  7. #7
    ti sei risposto da solo....

    Comunque ho aggiustato le cose che mi avevi indicato adesso mi segnala quest'errore:

    SELECT * FROM libri WHERE titolo LIKE'%%' or autore LIKE'%%' or isbn LIKE'%%'

    Unknown column 'isbn' in 'where clause'

    non hai un campo che si chiama cosi' nella tua tabella....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    27
    si incomincia a ragionare, il tuo aiuto mi è veramente prezioso. Adesso finalmente iniziano a uscire i risultati della ricerca, ma non capisco perchè vicino ci rimane attaccata la stringa di 'SELECT...'

    SELECT * FROM libri WHERE titolo LIKE'%%' or autore LIKE'%%' or isdn LIKE'%%'Monica Lanfranco e Maria G. Di Rienzo - Senza Velo scheda

    Luciano Ferrara - Porto Alegre scheda

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    27
    vabbè, ti sarò sembrato proprio uno stupido: avevo dimenticato 'echo $sql;'

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.