Newsgroup: it.comp.www.php
Titolo: Problema PHP e sql ARUBA

Ciao a tutti
premetto che sono un neofita di linguaggio php.
Volevo chiedervi una cosa, ho fatto un piccolo script in php che mi 
deve andare a popolare di dati un tabella di mysql ricevendo i dati da 
un form in una pagina htm. il problema è questo l'ho testato su 
altervista e funziona, poi ho provato a meterlo su aruba ma niente non 
mi popola la tabella (connessione al db avviene tranquillamente), 
allora ho contattato l'assistenza di aruba mandadogli lo script e la 
loro risposta è stata " chiedi sul forum come fare " (che ca......arola 
di risposta è), quindi chiedo cortesemente a voi avete qualche 
consiglio , dritta, guida, link che mi possa aiutare ?
Grazie 1000 in anticipo e AUGURONI di buon 2009
-- 
http:\\
fabiettoflights.altervista.org

Ciao,
premetto che anche io non sono un'aquila in php ma penso che il tuo
problema sia dovuto a causa di diverse versioni di php tra altervista
e aruba, è capitato anche a me, in locale funzionavano poi una volta
caricati nisba.
Perciò per risolvere il problema bisognerebbe conoscere lo script e
eventuali errori che ti da.
Ciao

Gio ci ha detto :

Ciao e grazie per la risposta,
il problema credo che non sia il codice perchè l'ho inviato 
all'assistena aruba e loro me lo hanno corretto , ma nonostante cio non 
funziona ugualmete, ho riposto la domanda all'assistenza e loro mi 
hanno quasi mandato al quel paese dicendomi che dovevo chiedere sui 
forum in rete, ora il problema credo che sia il loro db che non accetta 
i dati da una pagina in php cmq ti posto il codice cosi magari vedi se 
ci son errori è il codice che mi hanno corretto loro :
$covolo = "";
$bCodvolo = false;
$prova  = "";
$bProva = false;
	//
	// Verivica connessione database
	//
	$conn = mysql_connect($dbhost, $dbuname, $dbpass)
			or die("Impossibile connettersi al database<br>");
	$database = mysql_select_db($dbname, $conn);
$sql="INSERT INTO TIMETABLE (ID, PROVA) VALUE('{$_POST['codvolo']}', 
'{$_POST['prova']}')";
$result = mysql_query($sql)
        or die("errore".mysql_error());
mysql_close ($conn);
ho omesso solo i dati di connessione
grazie 1000 per la risposta
-- 
http:\\
fabiettoflights.altervista.org

 mysql_close ($conn);
Cambia VALUE con VALUES
$sql="INSERT INTO TIMETABLE (ID, PROVA) VALUES................
Prova

Gio ha pensato forte :

niente non va
-- 
http:\\
fabiettoflights.altervista.org

 $sql="INSERT INTO TIMETABLE (ID, PROVA) VALUE('{$_POST['codvolo']}',
occhio  a scrivere le query così, nel giro di un'ora ti zappano
l'intero db (o se lo scaricano comodamente). Leggi qualcosa a riguardo
della SQL Injection.
d

Considerando che timetable è la tua tabella e id e prova le tue
colonne:
$sql = " INSERT INTO timetable (id,prova) VALUES ( ' $_POST[codvolo]
' , ' $_POST[prova] ' ) " ;
Come diceva Darko così fai una prova ma poi i due POST mettili in una
variabile e ripuliscili.
Prova

 niente non va
ma non hai un errore da mostrarci? altrimenti andiamo avanti
all'infinito ;-)
magari metti in testa al codice:
error_reporting(E_ALL);
così vediamo tutto.
d

Scriveva darko mercoledì, 31/12/2008:

Ciao e grazie per le risposte,
ho provato in tutti i modi che mi avete detto ma niente non mi riporta 
nessun errore nel db non viene inserito niente , ho fatto una prova per 
vedere se tramite php venivao visualizzati i dati e questo avviene 
inserendo manualmente dei dati nella tabella tramite phpmyadmin.
Ora mi viene un dubbio dato che su aruba non posso settare i cmod dei 
file, di default on 666, non è che devo inserire questo script in una 
cartella in particolare di quelle fornitemi da aruba ?
Grazie ancora per l'assistenza che mi date.
e AUGURONI DI BUON FINE ANNO E UN OTTIMO 2009
-- 
http:\\
fabiettoflights.altervista.org

 nessun errore nel db non viene inserito niente
Prima di lanciare la query, fatti restituire a video il codice SQL, vedi
se è giusto, provalo anche da phpmyadmin.
Fai attenzione alle maiuscole/minuscole (come si diceva qualche thread
fa) per i nomi delle colonne e delle tabelle.
Esattamente, la pagina restituisce qualcosa oppure pagina bianca? Anche
con error_reporting()?
Enrico

 cartella in particolare di quelle fornitemi da aruba ?
ecco bravo, nel pannello di amministrazione (di aruba) del tuo sito,
se hai l'hosting su linux, hai un link "File Manager Hosting Linux",
clickalo e ti apre una pagina con un file browser, clicka su "Tools
and Settings" e poi "Permissions Repair".
d

darko scriveva il 31/12/2008 :

Ciao ragazzi
allora la pagina non mi restituisce nessun errore, semplicimente mi va 
nella home page del mio sito .
Ho hostig Windows ho fatto ripristina permessi, e poi ho eseguto la 
query in phpmyadmin e funziona quali altre prove posso fare ?
-- 
http:\\
fabiettoflights.altervista.org

 query in phpmyadmin e funziona quali altre prove posso fare ?
ma non si può navigare così al buio... può essere qualunque cosa. Ad
esempio che significa che fa redirect alla home page? C'è un redirect?
Una Custom Error Page? ci puoi dare il link a questa pagina?
Poi a questo punto prova a fare debug spicciolo, tra un'istruzione e
l'altra metti un:
...
die("primo step");
....
die("secondo step");
....
die("terzo step");
....
ecc... poi accedi alla pagina e se ti compare la stringa "primo step"
allora vuol dire che fin qui tutto ok, cancella il die("primo step");
e ricarica la pagina, se va tutto bene e compare "secondo step" allora
togli la die() e via dicendo, almeno puoi capire istruzione dopo
istruzione, dov'è che si inchioda.
d

 mysql_close ($conn);
Hai provato a stampare la query (echo $sql ) per vedere se è giusta?
Se il codice è sempre questo, il fatto che ti rimandi in home penso
che dipenda da altri problemi, non da questo codice.

Grazie Ragazzi ho risolto grazie a voi
Ora vi spiego sono un emerito scemo perchè i file php che scrivono su 
sql andavano messi in una determinata cartella del mio spazio web.
Cmq grazie a voi ho fatto delle prove e mi avete fatto capire dove 
sbagliavo e dove no .
ecco l'errore :
<form method="post" action="http:\
xxxxxxx.com
\timetable\send.php">
e invece doveva essere cosi:
<form method="post" action="send.php">
altervista lo accetta cmq mentre aruba no e i file htm e php vanno 
nella cartella cgi-bin perchè è l'unica con  i diritti cmod per 
l'esecuzione
questo credo che valga solo per chi ha Hosting Win su aruba
Grazie ancora e Buon fine anno e buonissimo 2009
Grazie
-- 
http:\\
fabiettoflights.altervista.org

 questo credo che valga solo per chi ha Hosting Win su aruba
Per PHP potevi prendere l'hosting linux, IMHO su windows ha sempre
girato male il PHP...
E cmq il problema dei path, se è più o meno come hai indicato, è che
negli URL lo slash è / non \
Inoltre dopo http ci vanno ://
http://miosito/
Enrico

 ha scritto nel messaggio 
news:GLw6l.29286$J84....@tornado.fastwebnet.it...

- Posta il codice su qualche sito di "paste" e riporta il link per farcelo 
vedere.
- Molto probabilmente nel codice dovresti inserire più parti di controllo 
delle operazioni andate a buon fine o meno. (detto in maniera abbastanza 
generica). Per esempio potresti aver utilizzato una key riservata nel 
nominare qualche  colonna senza l'utilizzo del ` (es.  binary, group, 
condition, column, convert,check ) e su mysql 4 funzionerebbe invece su 
mysql 5 quasi sicuramente ritorna un errore.
- Aruba ha così tanti utenti che non possono ovviamente darti supporto per 
gli script. Quindi la loro risposta è giusta sia per logica umana che per 
logica aziendale.
Ciao :)