Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    387

    Problema con connessione al database

    Ho scritto queste righe ma non riesco a capire quali possano essere gli errori per cui non riesce ad accedere:

    codice:
    		$db_host = "localhost";
    		$db_user = "root";
    		$db_password = "";
    		$db_database = "my_database";
    		$db_tabella = "tab_news";
    		
    		$connessione = mysql_connect($db_host,$db_user,$db_password);
    
    	if (isset($_REQUEST['submit'])){
    		
    		$n_title = $_REQUEST['news_title'];
    		$n_data = $_REQUEST['news_data'];
    		$n_body = $_REQUEST['news_body'];
    
    		
    		
    		$query = "INSERT INTO tab_news (news_title,news_data,news_body) VALUES (".$n_title ."," . $n_data .",". $n_body . ");";
    
    		mysql_query($query,$connessione) or die ("\nQuery fallita");
    cosa genera il problema??
    la pagina la sto testando in locale con il phpmyadmin

  2. #2
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Se tutti i valori non siano di tipo integer mancherebbero gli apici nell'INSERT
    Codice PHP:
    $query "INSERT INTO tab_news (news_title,news_data,news_body) VALUES ('".$n_title ."','" $n_data ."','"$n_body "')"
    Però attenzione, così il codice sia probabilmente pronto per un sql injection -> mysql_real_escape_string().

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    387
    Allora,
    ho provato ad inserire il tutto tra apici non va...
    a cosa potrebbe essere dovuto??

    Come si può rimediare al problema delle sql injection?

  4. #4
    Hai dimenticato nel codice di selezionare il database tramite la funzione mysql_select_db($db),comunque prova così:

    <?php
    $db_host = "localhost";
    $db_user = "root";
    $db_password = "";
    $db_database = "bla";
    $db_tabella = "news";

    mysql_connect($db_host,$db_user,$db_password);
    mysql_select_db($db_database);
    if (isset($_REQUEST['submit'])){

    $n_title = $_REQUEST['news_title'];
    $n_data = $_REQUEST['news_data'];
    $n_body = $_REQUEST['news_body'];

    $query = "INSERT INTO tab_news (news_title,news_data,news_body) VALUES ('$n_title ',' $n_data','$n_body')";

    mysql_query($query) or die ("\nQuery fallita");
    mysql_close();
    }
    ?>

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    387
    grazie adesso funziona,
    esiste un modo per ovviare al problema delle sql injection?

  6. #6
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Certo, usando mysql_real_escape_string() per MySQL o prepared statements (il miglior metodo IMHO).

    http://it.wikipedia.org/wiki/SQL_injection

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    387
    Scusate,
    vorrei aggiungere un campo per le foto

    codice:
    <input name="news_pic" type="file" id="news_pic" />
    ma quando faccio pressione sul tasto di invio mi restituisce:

    codice:
     Notice: Undefined index: news_pic
    perchè?

  8. #8
    Nell'html devi aggiungere l'enctype nel form:
    prova in questo modo:

    <form action="foto.php"method="post"enctype="multipart/form-data">
    <input type="hidden" value="foto"name="action"/>
    <input name="news_pic" type="file" id="news_pic" />




    <input type="submit" name="submit" value="Invia"/>
    </form>

    per quando riguarda il codice php non so se le foto le vuoi trasferire su una cartella sul server per poi richiamarle od altro..fammi sapere ciaoo.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.