PDA

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.

misterx
02-02-2020, 18:06
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

misterx
02-02-2020, 20:31
è 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&rsquo; di tempo scrivo il codice nuovo e lo mando qui; grazie mille


Inviato dal mio iPhone utilizzando Tapatalk

misterx
03-02-2020, 11:30
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();
?>

Kaya
05-02-2020, 09:03
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

misterx
05-02-2020, 11:14
non mi è chiaro se XAMPP è installato correttamente

Kaya
05-02-2020, 13:50
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: