Comunicazione con MySql in locale

Prima di tutto voglio ringrazire Gianni che prontamente mi ha aiutato per un problema in precedenza.

Ora spiego il mio nuovo problema.

Ho installato in locale Mysql, Apache e Php, il problema è che le pagine php sembrano funzionare anche la connessione al database funziona, solo che quando cerco di inserire delle informazioni all'interno del database tramite un form mi esce la pagina di errore 404, la stessa cosa mi capita con un altro form che però deve inviare delle email (in questo caso però mi chiese di salvare il file .php sul disco), il secondo l'ho potuto testare su uno spazio web gratuito e funziona, il primo non posso testarlo poichè non dispongo di uno spazio con servizio di database Mysql. In ogni caso vorrei testarlo in locale, in modo da essere indipendete dal net, qualcuno sa dirmi se devo installare altre applicazioni ?, il problema è forse di configurazione ?. Ringrazio anticipatamente chiunque voglia e possa aiutarmi.

inviato 11 anni fa
gohan079
X 0 X

riporta lo script che ti da problemi

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Questa è la pagina del form con il relativo pulsante di invio:

<?

include ("config.inc.php");

include ("top_foot.inc.php");

//intestazione

top();

?><style type="text/css">

<!--

body {

   background-color: #FFFFCC;

}

-->

</style>

<form method=post action=../../../../Documents%20and%20Settings/Administrator/Desktop/Esperimento_Db/save.php>

  <p>Titolo:

    <input type=text size=40 name=titolo>

  Data:

  <select name=giorno>

      <?

for ($i=1; $i<=31; $i++)

echo "<option value=$i>$i";

?>

  </select>

  <select name=mese>

      <option value=1>Gennaio

      <option value=2>Febbraio

      <option value=3>Marzo

      <option value=4>Aprile

      <option value=5>Maggio

      <option value=6>Giugno

      <option value=7>Luglio

      <option value=8>Agosto

      <option value=9>Settembre

      <option value=10>Ottobre

      <option value=11>Novembre

      <option value=12>Dicembre

    </select>

  <select name=anno>

      <option value=2001>2001

      <option value=2002>2002

      <option value=2003>2003

      <option value=2004>2004

      <option value=2005>2005

    </select>

  <br>

  <br>

Autore

<input type=text size=40 name=autore>

E-mail:

<input type=text size=40 name=mail>

</p>

  <p>Testo<br>

    <textarea name=testo cols=100 rows=35></textarea>

</p>

  <p>Password:

    <input type=password size=40 name=pass>

    <input name="submit" type=submit value=Invia>

    </p>

  </form>

<?

// chiusura pagina

foot();

?>

questa deve collegarsi alla pagina: save.php il cui codice è:

<? include("top_foot.inc.php");

include ("config.inc.php");

top();

if ($pass != $password):

echo "Password errata";

elseif (trim($titolo)=="" OR trim($testo)==""):

echo "I campi Titolo e Testo devono essere riempiti!";

else:

$titolo = addslashes(stripslashes($titolo));

$autore = addslashes(stripslashes($autore));

$mail = addslashes(stripslashes($mail));

$testo = addslashes(stripslashes($testo));

$titolo = str_replace("<", "&lt;", $titolo);

$titolo = str_replace(">", "&gt;", $titolo);

$autore = str_replace("<", "&lt;", $autore);

$autore = str_replace(">", "&gt;", $autore);

$testo = str_replace("<", "&lt;", $testo);

$testo = str_replace(">", "&gt;", $testo);

$testo = nl2br($testo);

$data=mktime("0", "0", "0", $mese, $giorno, $anno);

$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 che si occupa dell'insersione

$query1 = "INSERT INTO news (titolo, testo, data, nome) VALUES ('$titolo', '$testo', '$data', '$autore')";

$query2 = "INSERT IGNORE INTO autori (nome, mail) VALUES ('$autore', '$mail')";

if (mysql_query($query1, $db) AND mysql_query($query2, $db))

echo "L'articolo è stato inserito correttamente";

else

echo "Erorre durante l'inserimento

$query";

endif;

foot();

?>

risposto 11 anni fa
gohan079
X 0 X

Credo che l'errore 404 (pagina non trovata) sia da attriguire al tag form:

<form method=post action=../../../../Documents%20and%20Settings/Administrator/Desktop/Esperimento_Db/save.php>

il valore di "action" deve essere l'indirizzo (URL) della pagina che deve elaborare i dati provenienti dal form, non il percorso del file.

Se la pagina che elabora il form è la stassa che l'ha generato (e questo mi sembra il tuo caso) allora puoi semplicemente lasciare vuoto il campo action:

<form method="post" action="">

 :bye:

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