Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-01-2008, 15:36   #1
Re Lothar
Senior Member
 
Iscritto dal: Jan 2006
Messaggi: 413
[mysql] problema selezione database

Ho alcuni problemi nella creazione di un database per un sito in php-mysql, questo è il codice della index.php:
Codice:
<? 
	require("interfaccia.inc.php");
	include("config.inc.php");
	top();
?>
<title>Questa</title>
<? middle(); ?>
<?
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
$query = "SELECT id, data, titolo FROM news ORDER BY data DESC LIMIT 0,5";
$result = mysql_query($query, $db);
while ($row = mysql_fetch_array($result))
{
    echo "<a href=\"view.php?id=$row[id]\">" . date("j/n/y", $row[data]) . " - $row[titolo]</a><br>";
    }
    mysql_close($db);
foot() ?>
Questo è il file config.ini.php:
Codice:
<?
	// parametri del database
	$db_host = "localhost";
	$db_user = "root";
	$db_password = "root";
	$db_name = "myDatabase";
	//password per inserimento articoli
	$password = "";
?>
ed il file interfaccia.php non serve per il nostro problema visto che riguarda la formattazione della pagina, infatti non prendete nemmeno in considerazione foot() top() e middle() create per questo scopo.

Il problema è il seguente, quando vado sulla index mi da:
Codice:
Errore nella selezione del database. Verificare i parametri nel file config.inc.php
Questo significa che si blocca nel punto:
Codice:
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
e quindi non riesce a caricare il database, sul file config.ini credo di aver messo tutto giusto però non saprei, dove posso aver sbagliato?
__________________
http://vimeo.com/kappaz
Re Lothar è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2008, 18:43   #2
fencer2000
Member
 
Iscritto dal: Mar 2002
Città: Udine e ogni tanto Catania
Messaggi: 27
Prova questo codice che ti dice l'errore esatto:

Codice PHP:
mysql_select_db($db_name$db) or die(mysql_error()); 
Controlla anche eventuali maiuscole e minuscole e i permessi su quel database anche se è l'utente root di default dovrebbe avere tutti i permessi.
__________________
Mi son guardato allo specchio e mi sono accorto che non mi somigliavo
fencer2000 è offline   Rispondi citando il messaggio o parte di esso
Old 30-01-2008, 16:17   #3
Re Lothar
Senior Member
 
Iscritto dal: Jan 2006
Messaggi: 413
grazie per avermi risposto ma era solo un'errore di distrazione nelle impostazioni di pass e account

Comunque c'è un'altro problema ora, la spiegazione è molto semplice, in pratica finche mi trovo sulla directory principale del sito tutto va bene perche riesco ad includere tranquillamente tutti i file php, ma se mi trovo in una sottodirectory questo non mi è possibile facendo

Codice:
<? require("../interfaccia.inc.php") ?>
Da notare ../ con cui se fossi stato in ambiente html sarebbe tornato nella directory madre, e quindi avrebbe trovato quello che cercato, ma in php come posso fare questo visto che cosi non funziona?
__________________
http://vimeo.com/kappaz
Re Lothar è offline   Rispondi citando il messaggio o parte di esso
Old 30-01-2008, 17:21   #4
fencer2000
Member
 
Iscritto dal: Mar 2002
Città: Udine e ogni tanto Catania
Messaggi: 27
Quote:
Originariamente inviato da Re Lothar Guarda i messaggi

Codice:
<? require("../interfaccia.inc.php") ?>
Manca un ; alla fine..se hai fatto copia e incolla forse l'errore è lì; altrimenti se hai fatto un require di un require allora devi sempre fare riferimento al file principale. Mi spiego meglio..se hai una struttura file e directory del tipo

./index.php
./moduli/modulo.php
./inc/funzioni.php

se nell'index.php fai

Codice PHP:
<?php require("./moduli/modulo.php"); ?>
e se vuoi includere nel file del modulo il file delle funzioni dovrai sempre partire da index.php e scrivere

Codice PHP:
<?php require("./inc/funzioni.php"); ?>
invece che, come potrebbe sembrare,

Codice PHP:
<?php require("../inc/funzioni.php"); ?>
__________________
Mi son guardato allo specchio e mi sono accorto che non mi somigliavo
fencer2000 è offline   Rispondi citando il messaggio o parte di esso
Old 30-01-2008, 19:08   #5
Re Lothar
Senior Member
 
Iscritto dal: Jan 2006
Messaggi: 413
Aspetta il metodo tuo ./ non funge perche mi dice proprio fatal error ecc, ma nel mio metodo (../) la pagina la richiama correttamente (interfaccia.inc.php) ma non il css richiamato da quest'ultima.

La require copia il codice html del file incluso nella pagina corrente, e siccome nel file che richiama è presente un .css.
Siccome copia il codice una volta messo nella pagina corrente (presente in una sottodirectory in questo caso) l'indirizzo del css non è piu giusto ma dovrebbe anche lui essere ../file.css

Come posso fare in modo che il php cambi da solo questo indirizzo del file a seconda del livello di directory in cui ci si trova?
__________________
http://vimeo.com/kappaz
Re Lothar è offline   Rispondi citando il messaggio o parte di esso
Old 30-01-2008, 22:15   #6
fencer2000
Member
 
Iscritto dal: Mar 2002
Città: Udine e ogni tanto Catania
Messaggi: 27
Se ho capito bene ti servirebbe una funzione che cambi dinamicamente il percorso al css in base alla posizione dello script che lo include.

Che io sappia non esiste una funzione del genere..dovresti createla tu.
Puoi utilizzare la variabile d'ambiente $_SERVER["SCRIPT_NAME"] che restituisce il percorso allo script in esecuzione e in base al numero di / che incontri crearti il percorso a ritroso.

Codice PHP:
<?php
function getPath() {
    
$counter substr_count($_SERVER['SCRIPT_NAME'], "/"); //Conto le occorrenze
    
$path "./"//Imposto la cartella corrente come partenza
    
for($n=2;$n<=$counter;$n++) //parto dal livello inferiore alla root
        
$path .= "../";
    return 
$path;
}

echo 
getPath();
?>
Probabilmente necessita di qualche adattamento per il tuo caso.
__________________
Mi son guardato allo specchio e mi sono accorto che non mi somigliavo
fencer2000 è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2008, 08:13   #7
Re Lothar
Senior Member
 
Iscritto dal: Jan 2006
Messaggi: 413
ho provato ad includere la funzione in pagine presenti in sottocartelle ma mi ritorna sempre ./ allora ho provato anche a fare
Codice:
echo $_SERVER['stile.css'];
Ma non mi stampa niente, dovrebbe essere questa la funzione che ritorna il path relativo giusto?
Comunque l'unico problema reale è proprio questo, trovare una funzione o variabile globale che mi dia il valore relativo del path della pagina attuale.
__________________
http://vimeo.com/kappaz
Re Lothar è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2008, 08:49   #8
Re Lothar
Senior Member
 
Iscritto dal: Jan 2006
Messaggi: 413
Ah ecco ho fatto cosi:
Codice:
	$url_script_name=$_SERVER["SCRIPT_NAME"];
	
	$directory = dirname($url_script_name);
In questo modo posso aggiungere ad ogni link la posizione della directory ($directory) seguita dal nome del file da collegare.
Però siccome gli url sono in html non posso unire le stringhe con il php, per caso li devo fare in php anche gli url (non so se si può ) oppure devo fare in modo di far ritornare la stringa nel codice html?
Se si come posso fare? grazie...
__________________
http://vimeo.com/kappaz
Re Lothar è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2008, 18:42   #9
fencer2000
Member
 
Iscritto dal: Mar 2002
Città: Udine e ogni tanto Catania
Messaggi: 27
Quote:
Originariamente inviato da Re Lothar Guarda i messaggi
Ah ecco ho fatto cosi:
Codice:
	$url_script_name=$_SERVER["SCRIPT_NAME"];
	
	$directory = dirname($url_script_name);
In questo modo posso aggiungere ad ogni link la posizione della directory ($directory) seguita dal nome del file da collegare.
Però siccome gli url sono in html non posso unire le stringhe con il php, per caso li devo fare in php anche gli url (non so se si può ) oppure devo fare in modo di far ritornare la stringa nel codice html?
Se si come posso fare? grazie...
Puoi tranquillamente mischiare PHP e HTML.

Il codice per inserire il css potrebbe essere del tipo
Codice PHP:
<link href="<?php echo $directory."stile.css" ?>" rel="stylesheet" type="text/css" />
Però attenzione che $_SERVER["SCRIPT_NAME"] restituisce il percorso dello script corrente. Forse ti conviene crearti un array del tipo

Codice PHP:
<?php
   $BACK_PATH 
= array( => "./"=> "../"=> "../../");
   
$path $BACK_PATH[$numero_occorenze_slash]; //calcolato con la funzione che ti ho scritto prima
  
<link href="<?php echo $path."stile.css" ?>" rel="stylesheet" type="text/css" />
?>
P.S.: $_SERVER è una variabile d'ambiente di tipo array con alcuni elementi predefiniti tra cui $_SERVER["SCRIPT_NAME"]..se vai sul manuale di PHP puoi vedere quali sono questi elementi
__________________
Mi son guardato allo specchio e mi sono accorto che non mi somigliavo
fencer2000 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
AMD: l'alternativa al DLSS 5 sarebbe in ...
Canon EOS R8 Mark II: sensore da 24,2 MP...
Alla Napoli Shipping Week 2026 arriva il...
Addio bollo: il Governo cancella la tass...
Speciale Logitech G: mouse PRO X SUPERLI...
Cosa pensano Altman, Amodei, Benioff e H...
Microsoft: evento il 7 ottobre dedicato ...
Scoperti 84 corpi cosmici anomali: cosa ...
Dimensity 9600 Pro contro A20 Pro, il nu...
HillMiles MileCity1 torna a 648,99€: e-b...
Enel Mobile, il debutto è sempre ...
Nuova rimodulazione per il fisso di TIM ...
iPhone 18 Pro e Pro Max, preordini sotto...
Ha craccato 26 giochi: ora Denuvo vuole ...
Xiaomi 18 Pro, il lancio è uffici...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 00:08.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v