Stesso che script che si comporta in modo differente

Ciao.

Questo semplice script php

<?php

/* Mi connetto al Database Intranet per estrarre il valore della matricola dalla variabile di sistema */

$host = 'localhost';
$user = 'root';
$password = '';
$database = 'intranet';
$link=mysql_connect("$host","$user","$password")
or die ("Non riesco a connettermi a <b>$host");
mysql_select_db ($database, $link)
or die ("Non riesco a selezionare il db $database<br>");


/* Estraggo la matricola dell'operatore parcheggiandola in un array  */

$tutto = "SELECT * FROM utenti WHERE matricola = Right ('$LOGON_USER',5)";
$query = mysql_query ($tutto,$link)
or die ("Non riesco ad eseguire la richiesta $tutto");
while ($valori = mysql_fetch_array ($query))  {
$matricolains = $valori ["matricola"];
$cognomeins = $valori ["cognome"];
$nomeins = $valori ["nome"];

}


/* Prendo la data e l'ora di sistema parcheggiandole in due variabili separate e lo stato di lavorazione*/

$datains = date ("Y/m/d");
$orains = date ("H:i:s");
$statolav = 'NO';

/* Mi connetto al database "credito_fondiario" per poi immettere i valori inseriti nei form dall'utente */

$host = 'localhost';
$user = 'root';
$password = '';
$database = 'intranet';
$link=mysql_connect("$host","$user","$password")
or die ("Non riesco a connettermi a <b>$host");
mysql_select_db ($database, $link)
or die ("Non riesco a selezionare il db $database<br>");

/* Vado ad inserire i valori selezionati dall'operatore nel form nella tabella "credito_fondiario  */

if (isset($nominativorich)) {
$dati = "INSERT INTO hrs VALUES ('',
'$matricolains',
'$nomeins',
'$cognomeins',
'$categoriahr',
'$datains ',
'$orains',
'',
'',
'$statolav',
'$matricolarich',
'$nominativorich')";
mysql_query ($dati, $link)
or die ("Non riesco ad eseguire la query $dati");
mysql_close ($link); 
echo "<meta http-equiv=refresh content=0;url=http://cl172f9494/hrs/insert.php?matricolains=$matricolains&nomeins=$nomeins&cognomeins=$cognomeins&datains=$datains&orains=$orains&categoriahr=$categoriahr&matricolarich=$matricolarich&nominativorich=$nominativorich&idins=$id>";
 }

?>

<html>

<head>

<title>Nuova pagina 1</title>
</head>


<body>

<p align=center><b><font face=Verdana color=#0909FF>Archiviazione e
lavorazione documenti</font></b></p>

<table border=0 width=76% id=table1>
 <form method=POST action=<? $PATH_INFO ?>>

   <tr>
      <td align=center width=211><font face=Verdana size=2 color=#0909FF>Borse
      di studio</font></td>
      <td align=center width=206><font face=Verdana size=2 color=#0909FF>
      Attività formativa</font></td>
      <td align=center width=228><font face=Verdana size=2 color=#0909FF>Assegni
      familiari</font></td>
   </tr>
   <tr>
      <td align=center width=211><font color=#0909FF face=Verdana>
      <input type=radio value=borse_studio name=categoriahr></font></td>
      <td align=center width=206><font color=#0909FF face=Verdana>
      <input type=radio value=formazione name=categoriahr></font></td>
      <td align=center width=228><font color=#0909FF face=Verdana>
      <input type=radio value=assegni_familiari name=categoriahr></font></td>
   </tr>
   
</table>


<table border=0 width=76% id=table2>
   <tr>
      <td width=303 align=center>
      <font face=Verdana size=2 color=#0909FF>Nominativo</font></td>
      <td align=center>
      <font face=Verdana size=2 color=#0909FF>Matricola</font></td>
   </tr>
   <tr>
      <td width=303 align=center><input type=text name=nominativorich size=20></td>
      <td align=center><input type=text name=matricolarich size=20></td>
   </tr>
   <tr>
      <td width=303 align=center><input type=reset value=reset name=reset></td>
      <td align=center><input type=submit value=avanti name=avanti></td>
   </tr>
   </form>
</table>


<p><font face=Verdana><b><a href=trans_ricerca.html><font color=#FF0000>
<span style=text-decoration: none>Clicca qui</span></font></a></b><font color=#0909FF> 
per estrarre i dati secondo diversi criteri di ricerca</font></font></p>


</body>
</html>

serve ad inserire dati in una tabella.

Su una macchina con installato PHP 4, IIS e MySQL 4 funziona, su un'altra con PHP 5.0.5, Apache 2 e MySQL 4.1 non funziona, cioè si connette al db ma non fa l'inserimento dei dati presi dai form in tabella ...

Ho provato su MySQL 4.1 sia con una tabella MyISAM sia con una tabella InnoDB.

Chi mi può illuminare?  :o

Forse i vecchi script non funzionano con PHP 5? O forse dipende da IIS? O da MySQL?

Grazie e ciao a tutti.

inviato 11 anni fa
stone
X 0 X

ad occhio la cosa potrebbe dipendere dal register_global, una impostazione del php.ini che nelle versioni precedenti era ad ON di default ed invece ora per motivi di sicurezza è ad OFF. Quindi controlla il php.ini ed il valore di questa opzione. Nel caso cambialo e riavvia Apache.

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X
$tutto = "SELECT * FROM utenti WHERE matricola = Right ('$LOGON_USER',5)";

a che serve la funzione Right? :idiot: Non l'ho trovata neanche su http://www.php.net/manual/it/! :o

risposto 11 anni fa
Nico Colonna
X 0 X
$tutto = "SELECT * FROM utenti WHERE matricola = Right ('$LOGON_USER',5)";

a che serve la funzione Right? :idiot: Non l'ho trovata neanche su http://www.php.net/manual/it/! :o

avresti dovuto cercarla nel manuale di MySQL! serve per estrarre una sottostringa dalla stringa passata, partendo da destra e considerando un tot numero di caratteri

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Ho verificato i file php.ini di uno e dell'altro server. Su quello più vecchio infatti è settato a ON di default, sull'altro era ad OFF.

Non posso attualmente verificarlo empiricamente ma appena posso fermare i due server effettuerò la prova.

Certo che le cose da sapere sono tantissime ma è affascinante!!

 :D

risposto 11 anni fa
stone
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda