View Full Version : Ho un problema con dei codici php e html
Simox-2001
01-02-2020, 10:27
Ciao a tutti, è da giorni che provo diverse modifiche al codice ma nessuna funziona; vorrei che il codice .php andasse ad inserire i dati nella tabella del database (phpMyAdmin) prendendo i dati da un form .html, qualcuno può aiutarmi?
I codici:
<?php
$host= 'localhost';
$user= 'user';
$password= 'pw';
$database= 'nome';
mysql_connect($host, $user, $password)
or die('Errore durante la connessione:' .mysql_error());
mysql_select_db($database)
or die ('Errore durante la selezione del database:' .mysql_error());
$sql = "INSERT INTO 'tabella1' ('ID', 'Username', 'E-mail', 'Password') VALUES (NULL, '$username', '$email', '$password')";
if (mysql_query($sql)) {
echo "Dati aggiunti correttamente al database";
} else {
echo "Errore di inserimento:" .mysql_error();
}
mysql_close();
?>
<!DOCTYPE html>
<html>
<head>
<title>DB FORM PROVA 1</title>
</head>
<body>
<form method="POST" action="DB php.php">
Username:
<input type="text" name="username" >
<br>
<br>
E-mail:
<input type="text" name="e-mail" >
<br>
<br>
Password:
<input type="text" name="password" >
<br>
<br>
<input type="submit" name="submit" value="Invia i dati">
</form>
</body>
</html>
I permessi su su phpMyAdmin sono tutti dati e uso XAMPP.
Inviato dal mio iPhone utilizzando Tapatalk
wingman87
02-02-2020, 10:39
Qual è l'errore che ottieni? Qual è la definizione della tabella SQL tabella1?
Simox-2001
02-02-2020, 16:03
Invece di eseguire il codice lo stampa a video, e comunque non so se il codice php è scritto correttamente; che intendi per definizione?
pabloski
02-02-2020, 16:39
ma di che versione di php si tratta? io lì vedo delle funzioni deprecate!!!
oggi si usa la classe mysqli
Simox-2001
02-02-2020, 17:41
Onestamente non lo so, ho iniziato ora con php e sono abbastanza inesperto
pabloski
02-02-2020, 18:03
Onestamente non lo so, ho iniziato ora con php e sono abbastanza inesperto
Controlla questa cosa. Perchè quelle funzioni sono state eliminate dalle moderne versioni di PHP. Ovviamente ti dà errore e l'errore viene visualizzato nella pagina del browser!! Per questo vedi i comandi stampati a schermo.
ho provato per te il tuo codice su un interprete online invocando questa:
mysql_connect($host, $user, $password) genera un errore.
A quanto pare fa parte di una vecchia versione mysql/php e devi usare sintassi diverse, leggi sul sito di php medesimo dove trovi esempi completi e funzionanti nella nuova versione.
Simox-2001
02-02-2020, 19:14
Ho controllato su phpMyAdmin e sulla sezione Web server c'è scritto che la versione php è 7.4.1
è la funzione come viene chiamata che non è più supportata, devi aggiornarla
<?php
$host= 'localhost';
$user= 'user';
$password= 'pw';
$database= 'nome';
mysql_connect($host, $user, $password)
or die('Errore durante la connessione:' .mysql_error());
mysql_select_db($database)
or die ('Errore durante la selezione del database:' .mysql_error());
$sql = "INSERT INTO 'tabella1' ('ID', 'Username', 'E-mail', 'Password') VALUES (NULL, '$username', '$email', '$password')";
if (mysql_query($sql)) {
echo "Dati aggiunti correttamente al database";
} else {
echo "Errore di inserimento:" .mysql_error();
}
mysql_close();
?>
PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /home/cg/root/221583/main.php:8
Stack trace:
#0 {main}
thrown in /home/cg/root/221583/main.php on line 8
https://www.tutorialspoint.com/php_mysql_online.php
Simox-2001
03-02-2020, 10:57
Va bene, appena ho un po’ di tempo scrivo il codice nuovo e lo mando qui; grazie mille
Inviato dal mio iPhone utilizzando Tapatalk
leggi anche qui https://www.hwupgrade.it/forum/showthread.php?t=1086954
potrebbe essere anche il tuo caso
Simox-2001
04-02-2020, 20:15
Ho trovato questo esempio su questo sito https://www.w3schools.com/php/php_mysql_insert.asp, però i dati vengono inseriti direttamente dal codice; come faccio a prendere i dati dal form in html?
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', '
[email protected]')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
Quello che tu cerchi è la variabile $_POST['nomeForm'].
Quello che ti serve invece è iniziare a studiare per capire cosa stai facendo, NON un copia incolla di codici a caso trovati su internet.
Simox-2001
05-02-2020, 11:06
La professoressa non ci spiega niente e il libro è vecchio, quindi per imparare mi viene più facile prima con degli esempi e poi una volta capito il meccanismo inizio da solo (come ho fatto per html); in ogni caso grazie mille
non mi è chiaro se XAMPP è installato correttamente
Io partirei da uno dei n-mila corsi online tipo https://www.html.it/guide/guida-php-di-base/
E ricorda sempre che le pagine php le apri passando dal webserver (quindi tipicamente http://localhost/pagina.php ) e non con il browser web che punta al file php.
Simox-2001
09-02-2020, 17:03
Sono riuscito a far funzionare tutto. Il problema del codice php che veniva stampato a schermo e non eseguito l'ho risolto incollando su "action" il link del file php eseguito su localhost. Vi ringrazio tutti per il tempo che mi avete dedicato :cincin:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.