Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Phpmyadmin Su Host Joomila

    andiamo per ordine:

    premesso che sul database creato su joomila ho tutti i permessi:

    ho creato una di prova con il nome tabella_cilp, con 2 campi, nome e indirizzo

    il test della tabella è positivo e non ci sono errori.

    ho creato un form di prova test.htm con il form di inserimento dati:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
    Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>

    <head>
    <title>PAGINA CARICAMENTO DATI</title>
    </head>

    <body>
    <table border="0">
    <tr>
    <td align="center">Inserisci i dati richiesti</td>
    </tr>
    <tr>
    <td>
    <table>
    <form method="post" action="input.php">
    <tr>
    <td>Nome</td>
    <td><input type="text" name="name" size="20">
    </td>
    </tr>
    <tr>
    <td>Indirizzo</td>
    <td><input type="text" name="address" size="40">
    </td>
    </tr>
    <tr>
    <td></td>
    <td align="right"><input type="submit"
    name="submit" value="Sent"></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </body>
    </html>

    a questo punto il codice PHP contenuto nel file input.php per il collegamento al database è il seguente:

    <?
    //la stringa mysql_connect deve essere compilata con i dati relativi al proprio database
    // HOST = ip o hostname
    // USER = user
    // PASSWORD = password
    mysql_connect("81.31.155.72","urgglop8_si2909","pa ssword");//database connection
    // Qui sotto al posto di NOME_DATABSE, inserite il nome del vostro DB
    mysql_select_db("urgglop8_cilp13");

    //inserting data order
    $toinsert = "INSERT INTO tabella_cilp
    (nome, indirizzo)
    VALUES
    ('$name',
    '$address')";

    //declare in the order variable
    $result = mysql_query($toinsert); //order executes
    if($result){
    echo("
    Inserimento avvenuto correttamente");
    } else{
    echo("
    Inserimento non eseguito");
    }
    ?>

    trasferisco i file nel sito e richiamo la pagina test.htm

    inserisco i dati, invio e mi viene restituito il messaggio

    Inserimento non eseguito.

    ho il dubbio sui dati utenza, hostname e password nel senso che

    nel pannello di controllo di joomila il nome del database è quello che inserisco,
    ovvero urgglop8_cilp13, l'utenza è quella che mi indicasempre il pannello di controllo
    di joomila che però risulta diversa da quella di ingresso nel pannello di controllo e diversa da quella del sito ftp, lo stesso vale per le password.

    Come faccio a verificare se i dati sono corretti? sempre che siano i dati...

    grazie

  2. #2
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,650
    Non fai nessun controllo sulle credenziali di accesso al database

    Codice PHP:
    $db mysql_connect("81.31.155.72","urgglop8_si2909","password");//database connection
    if (!$db)
    {
    die(
    'Errore: ' mysql_error());
    }
    $db_selected mysql_select_db("urgglop8_cilp13"$db);
    if (!
    $db_selected) {
        die (
    'Errore: ' mysql_error());
    }

    $result mysql_query("INSERT INTO tabella_cilp (nome, indirizzo) VALUES ('$name', '$address')");
    if (!
    $result) {
        die(
    'Errore: ' mysql_error());

    Qualche considerazione:
    - Probabilmente la connessione fallisce perché cerchi di connetterti dall'esterno (81.31.155.72) e non dall'interno (localhost)
    -Ti consiglio di non usare mysql ma mysqli, usa meno risorse
    - Il tuo codice è altamente soggetto a SQL Injection, ovvero potrebbero impadronirsi del tuo database molto semplicemente
    - Ti consiglio di usare una classe come PDO (classe astratta) con mysqli, perché oltre a poter utilizzare diversi titpi di database sei protetto dalle SQL Injection.

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.