===== $_SESSION =====
https://www.html.it/pag/62981/gestire-le-sessioni-in-php/ \\
===== classi php =====
qui informazioni: https://www.html.it/pag/18341/creare-le-classi/ \\
dichiarazione della classe \\
class MyClass {
// implementazione della classe MyClass...
}
class MyClass {
// variabili membro
public $a = 10;
public $b = 20;
// funzioni
public function sayHello() {
echo "Hello!";
}
}
uso della classe\\
$myClass_1 = new MyClass();
// stampa "Hello!"
$myClass_1->sayHello();
// stampa 10
echo $myClass_1->a;
===== autenticazione =====
https://www.codeofaninja.com/2013/03/php-login-script.html \\
https://www.targetweb.it/script-login-utente-in-php-e-mysql-sicuro/ \\
https://phppot.com/php/multi-select-dropdown-filter-in-php-with-database-search/ \\
https://www.targetweb.it/form-ricerca-avanzata-php-mysql/
https://911-code.com/php-mysql-inserire-la-data-in-formato.html
===== INFO =====
per avere info su php\\
https://www.w3schools.com/php/php_form_validation.asp
===== PHP =====
il casino è che dalla debian 9 è cambiata la versione di default del php che dalla 5 è passata alla 7.\\
Naturalmente su apache il php è caricato di default e per vedere le impostazioni del php.ini possiamo creare un file da mettere in /var/www/html ad esempio info.php \\
\\
e vedere così com'è la situazione\\
ho capito che se si vuole creare un database nuovo per costruire qualcosa e inserire i dati ad esempio una pagina web, è bene dare ad un utente nuovo specifico per quel database i diritti per fare gli inserimenti e usare poi quell'utente da php. \\
quindi creiamo il database da riga di comando mariadb\\
create database prova;
poi creare tabelle \\
e qui dovro mettere il codice\\
poi creare l'utente specifico: \\
grant all privileges on database.* to 'nomeutentespecifico'@'localhost' identified by 'passwordutente';
altro file:\\
connect_error) {
die("Connection failed: " . $link->connect_error);
}
//mysqli_select_db($dbname)
//or die("Could not open the db '$dbname'");
//$name = $_POST['name'];
//$address = $_POST['address'];
// $toinsert = "INSERT INTO anagrafica (name, address) VALUES ('$name','$address')";
$sql = "INSERT INTO anagrafica (name, address) VALUES ('".$_POST["name"]."','".$_POST["address"]."')";
if (mysqli_query($link, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "" . mysqli_error($link);
}
$link->close();
?>
test
form html\\
PAGINA CARICAMENTO DATI
Inserisci i dati richiesti
Per creare una tabella da riga di comando:\\
>CREATE TABLE person(prodp_id INT NOT NULL AUTO_INCREMENT, nomep VARCHAR(20)NOT NULL, PRIMARY KEY (prodp_id)) ENGINE = InnoDB;
pagina da verificare per inserimento tabella:\\
Create a MariaDB Table
';
$sql = "CREATE TABLE products_tbl( ".
"product_id INT NOT NULL AUTO_INCREMENT, ".
"product_name VARCHAR(100) NOT NULL, ".
"product_manufacturer VARCHAR(40) NOT NULL, ".
"submission_date DATE, ".
"PRIMARY KEY ( product_id )); ";
mysqli_select_db($conn, 'test' );
$retval = mysqli_query( $conn,$sql );
if(! $retval ) {
die('Could not create table: ' . mysql_error());
}
echo "Table created successfully\n";
mysqli_close($conn);
?>
Informazioni tipiche per mariadb, andrà creata una pagina apposta:\\
Quando si crea un database per poterlo gestire da altre interfacce ad esempio php o altre API o altro, è bene creare un utente specifico che abbia i diritti sul database che non sia root per creare tabelle, inserire, modificare e altro. Si fa con il seguente comando che crea anche l'utente appunto.\\
>GRANT ALL PRIVILEGES ON nomedatabase.* TO 'nomeutentechestocreando'@'localhost' IDENTIFIED BY 'passworddelnuovoutente';
in openstack viene creato anche il seguente accesso:\\
>>GRANT ALL PRIVILEGES ON nomedatabase.* TO 'nomeutentechestocreando'@'%' IDENTIFIED BY 'passworddelnuovoutente';
ATTENZIONE.\\
Su internet si trovano ancora un sacco di riferimenti a vecchie versioni di php che usano funzioni ormai dprecate.\\
Ad esempio mysql_connect() o mysqli_connect() \\
è bene usare la seconda versione in quanto è più nuova più versatile e recente.\\
Non so spiegare ancora il perchè ma è così. QUindi evitare tutte le altre guide.\\
===== proxmox =====
ho avuto esperienza di proxmox che dopo aver installato apache e mariadb spembrava installato completamente php invece mancava libapache2-mod-php \\
sono stato 2 ore a smanettare per poi scoprire che mancava quello. quindi okkio! \\