Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343

    Campo di testo che non funziona !???!?!!? con database mysql

    Campo di testo che non funziona !???!?!!? problemino con mysql

    Gentilmente chi mi puo' spiegare questo arcano ......

    Ho fatto 5 campi :

    id int auto_increment
    tipo varchar 255
    titolo varcchar 255
    descrizione ( questo è il campo incriminato )
    Url varchar 255

    Ho provato a mettere descrizione come varchar 255 com text, come longtext insomma li ho provati tutti , ma quando vado ad inserire tramite form i dati , nel campo descrizione non c'è mai nulla , o meglio delle volte mi prende i dati e delle volte no ?!?!? secondo voi qual'è il problema , io ho bisogno che nella descrizione , ci sia una breve descizione e quindi che cosa devo mettere per farmi prendere il testo ?!!?!?

    Tipo Spazio Richiesto Lunghezza massima
    CHAR(x) x caratteri 255 characters
    VARCHAR(x) x caratteri più 1 o 2 bytes 65,535 caratteri (soggetto a limitazioni)
    TINYTEXT x caratteri + 1 byte 255 caratteri
    TEXT x caratteri + 2 bytes 65,535 caratteri
    MEDIUMTEXT x caratteri + 3 bytes 16,777,215 caratteri
    LONGTEXT x caratteri + 4 bytes 4,294,967,295 caratteri

  2. #2
    magari il problema e' dovuto all'uso di apici o altri caratteri senza utilizzare l'escape.

    passa la stringa a mysql_real_escape_string(). Qui ti viene spiegato ccome fare.

    http://forum.html.it/forum/showthrea...ostid=10166292

    Meglio se poi utilizzi la segnalazione di errore, magari e' solo una cosa piu' banale.

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    Grazie mille per la risposta...

    ho provato cosi ma non mi inserisce nulla ... ;( ho sbalgiato qualcosa...?!

    Codice PHP:
    <?php  require ("db_connect.php");   ?>       <?php      $id $_POST['id'];     $tipo $_POST['tipo'];     $titolo $_POST['titolo'];     $url $_POST['url'];     $descrizione $_POST['descrizione'];  if(get_magic_quotes_gpc()) { $tipo =stripslashes($tipo); $titolo =stripslashes($titolo); $url =stripslashes($url); $descrizione=stripslashes($descrizione);  $tipo =mysql_real_escape_string($tipo); $titolo =mysql_real_escape_string($titolo); $url =mysql_real_escape_string($url); $descrizione =mysql_real_escape_string($descrizione);  }           $insert mysql_query("INSERT INTO ricette_cucina(id,tipo,titolo,url,descrizione) VALUES ('', '$tipo', '$titolo', '$url', '$descrizione')",$db);                      ?>

  4. #4
    e certo che se per caso le magic quotes fossere in off non eseguiresti mysql_real_escape_string()

    prova a spostare la chiusura della if.

    Codice PHP:
    <?php  
    require ("db_connect.php");   
       
    $id $_POST['id'];     
    $tipo $_POST['tipo'];     
    $titolo $_POST['titolo'];     
    $url $_POST['url'];     
    $descrizione $_POST['descrizione'];  

    if(
    get_magic_quotes_gpc()) { 
       
    $tipo =stripslashes($tipo); 
       
    $titolo =stripslashes($titolo); 
       
    $url =stripslashes($url); 
       
    $descrizione=stripslashes($descrizione);
       }  

    $tipo mysql_real_escape_string($tipo); 
    $titolo mysql_real_escape_string($titolo); 
    $url mysql_real_escape_string($url); 
    $descrizione =mysql_real_escape_string($descrizione);  
              
      
    $insert mysql_query("INSERT INTO ricette_cucina
            (id,tipo,titolo,url,descrizione) 
            VALUES 
            ('', '
    $tipo', '$titolo', '$url', '$descrizione')"$db);
    ?>

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    Perfettoooooooo ....

    Grazie mille grazie alla tua correzione funge tutto ....

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    Scusate la domanda no so se qui ho in php .....

    Allora adesso che ho risolto il campo descrizione mi è venuto in mente che una volta che uno fa una ricerca generale sul mio motore di ricerca potrebbero venire fuori molti risultati .... chi mi sa dire come si aggiunge l'istruzione del database dove gli si dice che dopo ( ipotizzo 10 risultati ) deve creare un'altra pagina e via via ....

    Vi posto il cod del database spero qualcuno mi possa aiutare .....


    Codice PHP:
    <?php  // connettiamoci il nostro database  $db_host = "localhost"; $db_user = "table"; $db_password = "table"; $db_name = "table";  //connetto il database  $db = mysql_connect($db_host, $db_user, $db_password) or die ('Errore durante la connessione'); mysql_select_db($db_name, $db) or die ('Errore durante la selezione del db');  // recuperiamo il valore ricerca inviato con get  $ricerca = $_GET['ricerca'];  // vediamo se Ã¨ stato inviato, e quindi uguale a ok  if ( $ricerca == 'ok' ) {  // recuperiamo ora cerca inviato con post  $cerca = $_POST['cerca'];  // vediamo se Ã¨ stato compilato il campo  if ( $cerca == TRUE && $cerca != "" ) {  // ora vediamo se supera i tre caratteri  if ( strlen($cerca) >= 3 ) {  // ora depuriamo la stringa da cercare sul database   $cerca =  mysql_escape_string(stripslashes($cerca));   // ora possiamo effettuare la nostra ricerca sul db, state attenti alla sintassi  $query = "SELECT * FROM ricette_cucina WHERE id LIKE '%$cerca%' OR tipo LIKE '%$cerca%' OR url LIKE '%$cerca%' OR titolo LIKE '%$cerca%' OR descrizione LIKE '%$cerca%' ";   $risultato = mysql_query($query) or die (mysql_error());   $risposta = mysql_query($query) or die ("Utilizza termini più specifici!");  $dentro_la_query= mysql_fetch_assoc($risposta);  if ( $dentro_la_query == TRUE ) {  while($row= mysql_fetch_assoc($risultato)) {   $id = $row['id']; $tipo = $row['tipo']; $titolo = $row['titolo'];  $url = $row['url'];  $descrizione = $row['descrizione'];      // stampiamo i nostri dati  echo "<h3>id: $id
    </h3>"; echo "<h3>tipo $tipo
    </h3>"; echo "<h3>titolo $titolo
    </h3>";   echo "<h3>url : <a href=\"http://www.ricettedicucinagratis.com/$url\"/>$url</a><br</h3>";   echo "<h3>Descrizione : $descrizione
    </h3>"
    ;   }  } else {  echo "Nessun temine alla ricerca trovato";  }   } else {  echo "Devi inserire almeno 3 caratteri";  }  } else {  echo "Non hai compilato il modulo ricerca";  }  }  ?>

  7. #7
    Metti qualche return nel tuo codice .... cosi' e' illeggibile.

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

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    ok eccolo

    Codice PHP:
     <?php
      
    // connettiamoci il nostro database
      
    $db_host "localhost";
     
    $db_user "";
     
    $db_password "";
     
    $db_name "";
      
    //connetto il database
      
    $db mysql_connect($db_host$db_user$db_password) or die ('Errore durante la 
    connessione'
    );
     
    mysql_select_db($db_name$db) or die ('Errore durante la selezione del db');
      
    // recuperiamo il valore ricerca inviato con get
      
    $ricerca $_GET['ricerca'];
      
    // vediamo se Ã¨ stato inviato, e quindi uguale a ok
      
    if ( $ricerca == 'ok' ) {
      
    // recuperiamo ora cerca inviato con post
      
    $cerca $_POST['cerca'];
      
    // vediamo se Ã¨ stato compilato il campo
      
    if ( $cerca == TRUE && $cerca != "" ) {
      
    // ora vediamo se supera i tre caratteri
      
    if ( strlen($cerca) >= ) {
      
    // ora depuriamo la stringa da cercare sul database 
      
    $cerca =  mysql_escape_string(stripslashes($cerca)); 
      
    // ora possiamo effettuare la nostra ricerca sul db, state attenti alla sintassi
      
    $query "SELECT * FROM ricette_cucina WHERE id LIKE '%$cerca%' OR tipo LIKE '%$cerca%' 
    OR url LIKE '%
    $cerca%' OR titolo LIKE '%$cerca%' OR descrizione LIKE '%$cerca%' "
      
    $risultato mysql_query($query) or die (mysql_error()); 
      
    $risposta mysql_query($query) or die ("Utilizza termini più specifici!");
      
    $dentro_la_querymysql_fetch_assoc($risposta);
      if ( 
    $dentro_la_query == TRUE ) {
      while(
    $rowmysql_fetch_assoc($risultato)) { 
      
    $id $row['id'];
     
    $tipo $row['tipo'];
     
    $titolo $row['titolo'];
      
    $url $row['url'];
      
    $descrizione $row['descrizione'];
          
    // stampiamo i nostri dati
      
    echo "<h3>id: $id
    </h3>"
    ;
     echo 
    "<h3>tipo : $tipo
    </h3>"
    ;
     echo 
    "<h3>titolo : $titolo
    </h3>"
    ;
       echo 
    "<h3>url : <a href=\"http://www.ricettedicucinagratis.com/$url\"/>$url</a><br</h3>"
      echo 
    "<h3>Descrizione : $descrizione
    </h3>"
    ;
       }
      } else {
      echo 
    "Nessun temine alla ricerca trovato";
      }
       } else {
      echo 
    "Devi inserire almeno 3 caratteri";
      }
      } else {
      echo 
    "Non hai compilato il modulo ricerca";
      }
      }
      
    ?>

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    eccolo te lo posto cosi .. non prende i



    <?php

    // connettiamoci il nostro database

    $db_host = "localhost";
    $db_user = "";
    $db_password = "";
    $db_name = "";

    //connetto il database

    $db = mysql_connect($db_host, $db_user, $db_password) or die ('Errore durante la connessione');
    mysql_select_db($db_name, $db) or die ('Errore durante la selezione del db');

    // recuperiamo il valore ricerca inviato con get

    $ricerca = $_GET['ricerca'];

    // vediamo se è stato inviato, e quindi uguale a ok

    if ( $ricerca == 'ok' ) {

    // recuperiamo ora cerca inviato con post

    $cerca = $_POST['cerca'];

    // vediamo se è stato compilato il campo

    if ( $cerca == TRUE && $cerca != "" ) {

    // ora vediamo se supera i tre caratteri

    if ( strlen($cerca) >= 3 ) {

    // ora depuriamo la stringa da cercare sul database

    $cerca = mysql_escape_string(stripslashes($cerca));

    // ora possiamo effettuare la nostra ricerca sul db, state attenti alla sintassi

    $query = "SELECT * FROM ricette_cucina WHERE id LIKE '%$cerca%' OR tipo LIKE '%$cerca%' OR url LIKE '%$cerca%' OR titolo LIKE '%$cerca%' OR descrizione LIKE '%$cerca%' ";

    $risultato = mysql_query($query) or die (mysql_error());

    $risposta = mysql_query($query) or die ("Utilizza termini più specifici!");

    $dentro_la_query= mysql_fetch_assoc($risposta);

    if ( $dentro_la_query == TRUE ) {

    while($row= mysql_fetch_assoc($risultato)) {

    $id = $row['id'];
    $tipo = $row['tipo'];
    $titolo = $row['titolo'];

    $url = $row['url'];

    $descrizione = $row['descrizione'];





    // stampiamo i nostri dati

    echo "<h3>id: $id
    </h3>";
    echo "<h3>tipo : $tipo
    </h3>";
    echo "<h3>titolo : $titolo
    </h3>";


    echo "<h3>url : <a href=\"http://www.ricettedicucinagratis.com/$url\"/>$url</a><br</h3>";

    echo "<h3>Descrizione : $descrizione
    </h3>";


    }

    } else {

    echo "Nessun temine alla ricerca trovato";

    }


    } else {

    echo "Devi inserire almeno 3 caratteri";

    }

    } else {

    echo "Non hai compilato il modulo ricerca";

    }

    }

    ?>

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    ok risolto quasi tutto ... mhhh chi mi aiuta perfavore ....

    Questo script dovrebbe printarmi cio che c'è nel database dando le varie pagine , ma non mi printa perchè ?!??!?!?!?'1'1

    Paginazione

    <?php
    // definiamo una costante per la pagina corrente
    define("SELF", $_SERVER['PHP_SELF']);

    // definiamo la classe
    class Paging
    {
    // definiamo la pagina di partenza
    function paginaIniziale($max_row)
    {
    if ((!isset($_GET['p'])) || ($_GET['p'] == "1"))
    {
    $parti_da = 0;
    $_GET['p'] = 1;
    }else{
    $parti_da = ($_GET['p']-1) * $max_row;
    }
    return $parti_da;
    }

    // contiamo le pagine e stabiliamo quanti records devono essere impaginati
    function contaPagine($conta, $max_row)
    {
    $pgg = (($conta % $max_row) == 0) ? $conta / $max_row : floor($conta / $max_row) + 1;
    return $pgg;
    }

    // mostriamo l'elenco delle pagine
    function listaPagine($p_corrente, $pgg)
    {
    $listapgg = "";
    if (($p_corrente != 1) && ($p_corrente))
    {
    $listapgg .= " <a href=\"".SELF."?p=1\">Prima pag.</a> ";
    }
    if (($p_corrente-1) > 0)
    {
    $listapgg .= "<a href=\"".SELF."?p=".($p_corrente-1)."\"><</a> ";
    }
    for ($i=1; $i<=$pgg; $i++)
    {
    if ($i == $p_corrente)
    {
    $listapgg .= "".$i."";
    }else{
    $listapgg .= "<a href=\"".SELF."?p=".$i."\">".$i."</a>";
    }
    $listapgg .= " ";
    }
    if (($p_corrente+1) <= $pgg)
    {
    $listapgg .= "<a href=\"".SELF."?p=".($p_corrente+1)."\">></a> ";
    }
    if (($p_corrente != $pgg) && ($pgg != 0))
    {
    $listapgg .= "<a href=\"".SELF."?p=".$pgg."\">Ultima pag.</a> ";
    }
    $listapgg .= "</td>\n";
    return $listapgg;
    }

    // permettiamo la navigazione per pagine precedenti e successive
    function precedenteSuccessiva($p_corrente, $pgg)
    {
    $impaginazione = "";
    if (($p_corrente-1) <= 0)
    {
    $impaginazione .= "Precedente";
    }else{
    $impaginazione .= "<a href=\"".SELF."?p=".($p_corrente-1)."\">Pag. precedente</a>";
    }
    $impaginazione .= " | ";
    if (($p_corrente+1) > $pgg)
    {
    $impaginazione .= "Prossima";
    }else{
    $impaginazione .= "<a href=\"".SELF."?p=".($p_corrente+1)."\">Prossima pag.</a>";
    }
    return $impaginazione;
    }
    }
    ?>


    Pagina :

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

    //connettiamoci a MySQL e selezioniamo il database
    class MySQL
    {
    function MySQL()
    {
    $this->host_name = "localhost";
    $this->user_name = "iscritti_dieta";
    $this->password = "searedone1";
    $this->data_name = "db_iscritti";
    $this->link = @mysql_connect($this->host_name, $this->user_name, $this->password) or die (mysq_error());
    @mysql_select_db($this->data_name) or die (mysq_error());
    }
    }

    $data = new MySQL();

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

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

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

    // contiamo i records nel database
    $query_count = @mysql_query("SELECT * FROM ricette_cucina WHERE tipo='$tipo'") 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
    $query = @mysql_query("SELECT * FROM ricette_cucina WHERE tipo='$tipo' LIMIT ".$inizio.",".$max) or die (mysql_error());


    //recuperiamo i dati da stampare


    while ($records = mysql_fetch_array($query)) {





    // stampiamo i nostri dati

    echo "tipo : " . $records['tipo'] ."
    ";

    }
    //l'errore dovrebbe essere qui chi mi aiutaaaaaa


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

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

    l'errore l'ho messo in rosso

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.