[PHP] problema registrazione

ANDREA20

Utente Attivo
25 Giu 2016
145
1
18
28
Buongiorno.

ho un problema con una installazione db http://www.civiaggio.it/login/install.php

è stato allegato il link
PHP:
<?php
// Nome del computer su cui è installato il database
$databaseHostName = '93.186.252.19';

// Nome dell'utente che può agire sul database
$databaseUserName = 'admin_login';

// Password dell'utente che può agire sul database
$databasePassword = '*********';

// Includo la lista delle funzioni per operare sul database
require_once 'inc/database.php';

// Apro una connessione con il database
$connection = $openConnection ('93.186.252.19' , 'admin_login' , '*********');

// Query per la creazione del database
$sql = "CREATE DATABASE `login` CHARACTER SET utf8 COLLATE utf8_unicode_ci";

// Se la creazione del database non riesce, stampo l'errore
if (false == mysql_query($sql, $connection))
{
    die("Si è verificato un errore durante la creazione del database");
}

// Query per la creazione della tabella user
$sql = "CREATE TABLE `login`.`user` (
    `user_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `email` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
    `password` char(32) COLLATE utf8_unicode_ci NOT NULL,
    `name` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
    `token` char(32) COLLATE utf8_unicode_ci DEFAULT NULL,
    `active` int(1) NOT NULL DEFAULT '0',
    PRIMARY KEY (`user_id`),
    UNIQUE KEY (`email`),
    KEY `token` (`token`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci";

// Se la creazione della tabella genera un errore, lo stampo a video
if (false == mysql_query($sql, $connection))
{
    die("Si è verificato un errore durante la creazione della tabella user");
}

?>

non capisco l'errore che mi da aspetta alcune risposte possibilmente urgente

cordiali saluti
 
Ultima modifica di un moderatore:
PHP:
// Apro una connessione con il database
$connection = $openConnection ('93.186.252.19' , 'admin_login' , '*********');

"$openConnection" è il nome di una variabile non il nome della funzione che stabilisce la connessione al db

cerca all'interno di "database.php'" come si chiama la funzione di connessione e correggi l'errore
 
PHP:
<?php

$databaseHostName = '93.186.252.19';

// Nome dell'utente che può agire sul database
$databaseUserName = 'admin_login';

// Password dell'utente che può agire sul database
$databasePassword = '*********';


// Create connection
$conn = mysql_connect($databaseHostName,$databaseUserName,$databasePassword);

// Check connection
if (!$conn) {
    echo ' Connessione fallita';
}
// Query per la creazione del database
$sql = "CREATE DATABASE `login` CHARACTER SET utf8 COLLATE utf8_unicode_ci";

Quando il data base è stato creato
PHP:
$database = "login";
$db = mysql_select_db("$database") or die (mysql_error());
if(!$db){
    echo 'errore nella connessione al database';
}
?
Questo per la connessione e poter quindi attivare la creazione di una tabella
Può essere messo nel file di configurazione accesso e collegamento e richiamato ogni volta
<?php include('nome del file.php'); ?> senza la parte della creazione database.

Spero di esserti stato di aiuto
Marco
 
Ultima modifica di un moderatore:
non riesco ora mi da problema riga 21

allego i due documeti database.php e install.php

file install.php
PHP:
<?php
// Nome del computer su cui è installato il database
$databaseHostName = '93.186.252.19';

// Nome dell'utente che può agire sul database
$databaseUserName = 'admin_login';

// Password dell'utente che può agire sul database
$databasePassword = '******';

// Includo la lista delle funzioni per operare sul database
require_once 'inc/database.php';

// Apro una connessione con il database
$connection = createConnection ('93.186.252.19','login','******','admin_login');

// Query per la creazione del database
$sql = "CREATE DATABASE `login` CHARACTER SET utf8 COLLATE utf8_unicode_ci";

// Se la creazione del database non riesce, stampo l'errore
if (false == mysql_query($sql, $connection))
{
    die("Si è verificato un errore durante la creazione del database");
}

// Query per la creazione della tabella user
$sql = "CREATE TABLE `login`.`user` (
    `user_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `email` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
    `password` char(32) COLLATE utf8_unicode_ci NOT NULL,
    `name` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
    `token` char(32) COLLATE utf8_unicode_ci DEFAULT NULL,
    `active` int(1) NOT NULL DEFAULT '0',
    PRIMARY KEY (`user_id`),
    UNIQUE KEY (`email`),
    KEY `token` (`token`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci";

// Se la creazione della tabella genera un errore, lo stampo a video
if (false == mysql_query($sql, $connection))
{
    die("Si è verificato un errore durante la creazione della tabella user");
}

?>

file database.php
PHP:
<?php

static $connectionLink = null;

function getConnection()
{
    global $connectionLink;

    if (true == is_null($connectionLink))
    {
        $connectionLink = createConnection();
    }

    return $connectionLink;
}

function createConnection()
{
    $databaseHostName    = '93.186.252.19';
    $databaseUserName     = 'login';
    $databasePassword     = '*****';
    $databaseName = 'admin_login';

    $connection = mysqli_connect ('93.186.252.19','login','*****','admin_login');

    if (false == $connection)
    {
        die("Si è verificato un errore durante la connessione al database. Ricontrolla i dati di accesso");
    }

    return $connection;
}
 
Ultima modifica di un moderatore:
$sql = "CREATE DATABASE `login` CHARACTER SET utf8 COLLATE utf8_unicode_ci";

solitamente la stringa sarebbe. "CREATE DATABASE IF NOT EXISTS login CHARACTER SET utf8 COLLATE utf8_unicode_ci";

difatti la riga 21 comunica che il data base non è stato creato perchè qualcosa non va
 
Personalmente il data base preferisco crearlo io direttamente in phpmyadmin dell'host in quanto possono esserci delle regole particolari che in locale non vi sono.
Sono pochi passaggi e tolgono parecchi problemi.

Anche per le tabelle, anche se apparentemente sembrano macchinose, le creo tutte senza script di comando.
Poi ognuno ha la sua metodica che rispetto pienamente.
 
infatti sul database c'è già il database non c'è una guida completta per questo problema perchè non riesco ad risolvere il problema
 
scusa...se esiste già il database...lo script non serve a niente.
crea la connessione diretta
$connessione = mysql_connect($nome host, $nome user, $nome password, $nome database);
if (!$connessione) {
echo ' Connessione fallita';
}

Lavori in locale o in remoto ?
Che hosting hai ?....
 
Con Aruba ho avuto problemi anch'io, e ho migrato altrove.
Ma se sai il nome del database non dovrebbero esserci problemi.

Consiglio:
Dal pannello manager di Aruba, accedi a phpmyadmin, controlla il nome del database, oppure creane uno tutto da te, e poi tutti i collegamenti li indirizzi al nuovo database creato, come pure la creazione delle tabelle.
Ma se non sono esageratamente tante, ti consiglio, creale a mano, ti sarà più utile in futuro e avrai meno problemi.
ora devo andare, non posso seguirti, spero tu possa ricolvere tutto, in quanto ci sono passato anch'io...ed è una frustrazione tremenda....
Auguri
Marco
 
Ciao, stai usando due estensioni di mysql diverse e per questo va in errore
ti colleghi con mysqli
PHP:
$connection = mysqli_connect (
quindi devi usare mysqli anche per far le query

PHP:
if (false == mysqli_query($connection,$sql))
 
riposta install.php come è adesso
edit
postali tutti e due
 
ora mi da solo errore di minimo 1 parametri
PHP:
<?php
// Nome del computer su cui è installato il database
$databaseHostName = '93.186.252.19';

// Nome dell'utente che può agire sul database
$databaseUserName = 'admin_login';

// Password dell'utente che può agire sul database
$databasePassword = '*****';

// Includo la lista delle funzioni per operare sul database
require_once 'inc/database.php';

// Apro una connessione con il database
$connection = createConnection ('93.186.252.19','login','*****','admin_login');

// Query per la creazione del database
$sql = "CREATE DATABASE `login` CHARACTER SET utf8 COLLATE utf8_unicode_ci";

// Se la creazione del database non riesce, stampo l'errore
$connection = mysqli_query ('login','admin_login','*****');

    if (false == $connection)
    {
    die("Si è verificato un errore durante la creazione del database");
}

// Query per la creazione della tabella user
$sql = "CREATE TABLE `login`.`user` (
    `user_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `email` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
    `password` char(32) COLLATE utf8_unicode_ci NOT NULL,
    `name` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
    `token` char(32) COLLATE utf8_unicode_ci DEFAULT NULL,
    `active` int(1) NOT NULL DEFAULT '0',
    PRIMARY KEY (`user_id`),
    UNIQUE KEY (`email`),
    KEY `token` (`token`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci";

// Se la creazione della tabella genera un errore, lo stampo a video
if (false == mysqli_query($sql, $connection))
{
    die("Si è verificato un errore durante la creazione della tabella user");
}

?>
 

Discussioni simili