Pagina 1 di 6 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 51
  1. #1

    Come far conenttere un file php ad un DB?

    Ciao devo far connettere questo codice al DB e in questo file databaseconnectinfo.php ci devo scrivere le variabili del mio DB, ma cosa devo scrivere esattamente dentro a databaseconnectinfo.php?

    Il codice è questo e serve per cambiare la password agli utenti del sito del mio amico!!!

    <?php

    /**in questa parte dello script creaiamo tre variabili $lo $pa $npd*/
    /**ognuna attesta la correttezza della procedura*/

    if (isset($_POST['submit']))
    {
    require_once ('databaseconnectinfo.php');

    /**funzione per filtrare i dati da inserire*/
    function escape_data ($data)
    {
    global $dbc;
    if (ini_get('magic_quotes_gpc'))
    {
    $data = stripslashes($data);
    }
    return mysql_real_escape_string($data, $dbc);
    }

    $message = NULL;

    /**verifichiamo l'esistenza del loginName altrimenti $lo è FALSE*/

    if (empty($_POST['loginName']))
    {
    $lo = FALSE;
    $message .= '

    You forgot to enter your Login Name!</p>';
    }
    else
    {
    $lo = escape_data($_POST['loginName']);
    }

    /**verifichiamo l'esistenza della password (vecchia password) altrimenti $pa è FALSE*/

    if (empty($_POST['password']))
    {
    $pa = FALSE;
    $message .= '

    You forgot to enter your existing password!</p>';
    }
    else
    {
    $pa = escape_data($_POST['password']);
    }

    /**verifichiamo l'esistenza del password1 (nuova password) altrimenti $nps è FALSE*/
    /**verifichiamo che password1 coincide con password2 (conferma password) altrimenti $nps è FALSE*/

    if (empty($_POST['password1']))
    {
    $npa = FALSE;
    $message .= '

    You forgot to enter your new password!</p>';
    }
    else
    {
    if ($_POST['password1'] == $_POST['password2'])
    {
    $npa = escape_data($_POST['password1']);
    }
    else
    {
    $npa = FALSE;
    $message .= '

    Your new password did not match the confirmed new password!</p>';
    }
    }

    /**se tutte e tre le variabili sono ok facciamo la query*/
    /**individuiamo l'id del record da modificare*/
    /**se è ==1 facciamo la query di update*/

    if ($lo && $pa && $npa)
    {
    $query = "SELECT id FROM tablename WHERE (loginName='$lo' AND password=PASSWORD('$pa') )";
    $result = @mysql_query ($query);
    $num = mysql_num_rows ($result);
    if ($num == 1)
    {
    $row = mysql_fetch_array($result, MYSQL_NUM);
    $query = "UPDATE tablename SET password=PASSWORD('$npa') WHERE id=$row[0]";
    $result = @mysql_query ($query);
    if (mysql_affected_rows() == 1)
    {
    echo '

    Your password has been changed.</p>';
    exit();
    }
    else
    {
    $message = '

    Your password could not be changed due to a system error. We apologize for any inconvenience.</p>

    ' . mysql_error() . '</p>';
    }
    }
    else
    {
    $message = '

    Your loginName and password do not match our records.</p>';
    }
    mysql_close();
    }
    else
    {
    $message .= '

    Please try again.</p>';
    }

    }

    /**stampa del messaggio risultante dalla procedura*/
    if (isset($message))
    {
    echo '<font color="red">', $message, '</font>';
    }
    ?>

    E gli errori che da invece di cambiare password sono

    Warning: mysql_real_escape_string() expects parameter 2 to be resource, null given in D:\Inetpub\webs\feelmeit\databaseconnectinfo.php on line 18

    Warning: mysql_real_escape_string() expects parameter 2 to be resource, null given in D:\Inetpub\webs\feelmeit\databaseconnectinfo.php on line 18

    Warning: mysql_real_escape_string() expects parameter 2 to be resource, null given in D:\Inetpub\webs\feelmeit\databaseconnectinfo.php on line 18

    Please try again.

    Fatal error: Cannot redeclare escape_data() (previously declared in D:\Inetpub\webs\feelmeit\databaseconnectinfo.php:1 1) in D:\Inetpub\webs\feelmeit\changepass.php on line 89

    Ditemi quali dovrebbero essere le variabili da scrivere nel databaseconnetinfo.php? Così da porter far connettere il codice PHP al DB del sito?

  2. #2
    Ciao qualcuno mi risponde???

    Ora mi da questo errore e grazie!!!

    Warning: mysql_real_escape_string() expects parameter 2 to be resource, null given in D:\Inetpub\webs\feelmeit\changepass.php on line 93

    Warning: mysql_real_escape_string() expects parameter 2 to be resource, null given in D:\Inetpub\webs\feelmeit\changepass.php on line 93

    Warning: mysql_real_escape_string() expects parameter 2 to be resource, null given in D:\Inetpub\webs\feelmeit\changepass.php on line 93

    Please try again.

  3. #3
    devi imparare a leggere bene il contenuto degli errori...

    questa ti dice che la funzione mysql_real_escape_string() richiede due parametri non nulli.

    Se hai studiato questa funzione il primo parametro è la stringa, il secondo è la connessione

    Nella funzione che utilizzi per filtrare i dati

    Codice PHP:
    function escape_data ($data)
       {
       global 
    $dbc;
       if (
    ini_get('magic_quotes_gpc'))
          {
          
    $data stripslashes($data);
          }
       return 
    mysql_real_escape_string($data$dbc);
       } 
    prende come variabile la stringa da filtrare mentre la connessione la prende (presumibilmente) dal file che includi (richiamandola come variabile globale...)

    require_once ('databaseconnectinfo.php');

    Se l'errore è che la funzione mysql_real_escape_string richiede due parametri non nulli significa che la variabile $dbc non esiste, non è valorizza o è nulla.
    Ciò può derivare dal fatto che

    1) nel file 'databaseconnectinfo.php' l'istanza di connnessione si chiama diversamente;
    2) hai sbagliato a fare l'inclusione;
    3) la connession al db è fallita (ad esempio le credenziali sono errate).

  4. #4
    Ciao si ma io il codice php e il form l'ho scritti in manageme.php cioè la pagina del form per cambiare la password agli utenti del sito del mio amico, ma in databaseconnectinfo.php cosa devo scrivere???

  5. #5

    Non hai capito nulla... anzitutto studia il php...

    nell'elenco 1-2-3 ci sono le possibili cause... in base a quanto hai postato io ho risposto...

  6. #6
    Ciao ah ho capito quello che hai scritto lo devo scrivere nel codice giusto?

  7. #7
    Ciao l'ho scritto così

    <?php

    if (isset($_POST['submit'])) {
    // Handle the form.

    require_once ('databaseconnectinfo.php');
    // Connect to the db.


    // Create a function for escaping the data

    function escape_data ($data)
    {
    global $dbc;
    if (ini_get('magic_quotes_gpc'))
    {
    $data = stripslashes($data);
    }
    return mysql_real_escape_string($data, $dbc);
    }


    return mysql_real_escape_string($data, $dbc);
    }
    // End of function.

    $message = NULL; // Create an empty new variable.

    // Check for a loginName.
    if (empty($_POST['loginName'])) {
    $lo = FALSE;
    $message .= '

    You forgot to enter your Login Name!</p>';
    } else {
    $lo = escape_data($_POST['loginName']);
    }

    // Check for an existing password.
    if (empty($_POST['password'])) {
    $pa = FALSE;
    $message .= '

    You forgot to enter your existing password!</p>';
    } else {
    $pa = escape_data($_POST['password']);
    }

    // Check for a password and match against the confirmed password.
    if (empty($_POST['password1'])) {
    $npa = FALSE;
    $message .= '

    You forgot to enter your new password!</p>';
    } else {
    if ($_POST['password1'] == $_POST['password2']) {
    $npa = escape_data($_POST['password1']);
    } else {
    $npa = FALSE;
    $message .= '

    Your new password did not match the confirmed new password!</p>';
    }
    }

    if ($lo && $pa && $npa) { // If everything's OK.

    $query = "SELECT id FROM tablename WHERE (loginName='$lo' AND password=PASSWORD('$pa') )";
    $result = @mysql_query ($query);
    $num = mysql_num_rows ($result);
    if ($num == 1) {
    $row = mysql_fetch_array($result, MYSQL_NUM);

    // Make the query.
    $query = "UPDATE tablename SET password=PASSWORD('$npa') WHERE id=$row[0]";
    $result = @mysql_query ($query); // Run the query.
    if (mysql_affected_rows() == 1) { // If it ran OK.

    // Send an email, if desired.
    echo '

    Your password has been changed.</p>';

    exit(); // Quit the script.

    } else { // If it did not run OK.
    $message = '

    Your password could not be changed due to a system error. We apologize for any inconvenience.</p>

    ' . mysql_error() . '</p>';
    }
    } else {
    $message = '

    Your loginName and password do not match our records.</p>';
    }
    mysql_close(); // Close the database connection.

    } else {
    $message .= '

    Please try again.</p>';
    }

    } // End of the main Submit conditional.

    // Print the error message if there is one.
    if (isset($message)) {
    echo '<font color="red">', $message, '</font>';
    }
    ?>

    Ma la pagina ora non appare e da questo errore Parse error: syntax error, unexpected '}' in D:\Inetpub\webs\feelmeit\manageme.php on line 170

  8. #8
    c'è questo di troppo (lo scrivi due volte)

    Codice PHP:
    return mysql_real_escape_string($data$dbc);

    ... psero che tu abbia capito quello che ho detto...

  9. #9
    Ciao ok corretto e grazie!!! Cmq la mia domanda era il codice php che ho postato qui dove lo devo scrivere in manageme.php dove l'ho scritto insieme al form, o nel file databaseconnectinfo.php??? Che è attualmente vuoto!!!!

    E ora mi da questo errore invece di cambiare password!!!

    Warning: mysql_real_escape_string() expects parameter 2 to be resource, null given in D:\Inetpub\webs\feelmeit\changepass.php on line 93

    Warning: mysql_real_escape_string() expects parameter 2 to be resource, null given in D:\Inetpub\webs\feelmeit\changepass.php on line 93

    Warning: mysql_real_escape_string() expects parameter 2 to be resource, null given in D:\Inetpub\webs\feelmeit\changepass.php on line 93

    Please try again.

  10. #10
    Originariamente inviato da wolverinex3
    databaseconnectinfo.php??? Che è attualmente vuoto!!!!
    Se vuoi un consiglio per iniziare a programmare in php devi sapere un minimo di php: se non sai nemmeno connetterti ad un db come puoi vagamente sperare di utilizzare un db????!!!

    cmq il file databaseconnectinfo.php deve contenere una istanza di connessione chiamata $dbc utilizzando la funzione mysql_connect:

    Codice PHP:
    <?php
    $db_host 
    "tuo_host";
    $db_user "tuo_username";
    $db_password "tua_password";
    $db_database "tuo_db";

    $dbc mysql_connect($db_host$db_user$db_password) or die ('Non riesco a connettermi: ' mysql_error());


    $db_selected mysql_select_db($db_database$dbc) or die ("Errore nella selezione del database: " mysql_error());

    ?>

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.