Sale, non riesco a riempire i campi della mia tabella associativa. Mi spiego meglio. In pratica ho una relazione N a N tra l'entità Segretario e Studente(il segretario può inserire N studenti e lo studente può essere inserito da più segretari). Essendo N a N, ho una tabella per la mia relazione INSERIMENTO che ha come campi due FK (Matricola studente e id segretario, entrambi calcolati come autoincrement nelle loro rispettive tabelle). Quando ora con questo script php riesco ad inserire uno studente (e quindi aggiungere un record alla tabella STUDENTE), vorrei rimepire anche la tabella INSERIMENTO , con l'id del segretario che l'ha aggiunto e la matricola dello studente. Vi lascio lo script php dove inseriesco lo studente nella tabella STUDENTE e lo schema delle tre tabelle
SEGRETARIO (nota,erroneamente chiamato SEGRETERIA NELLO SCRIPT php): (ID_SEG(pk,autoincrement) ,USERNAME,PASS)
STUDENTE:( MATRICOLA(pk,autoincrement),Nome,Cognome.Email,Pass_Stud)
INSERIMENTO( ID_Seg(fk),Mat(fk))
<?php
include('session.php');
if ($_SERVER["REQUEST_METHOD"] == "POST") { // verifica se la richiesta ricevuta è un POST
$nome = test_input($_POST['Nome']);
$cognome = test_input($_POST['Cognome']);
$password = test_input($_POST['Pass_Stud']);
$email = test_input($_POST['Email']);
$conn = new mysqli("localhost","root","","scuola");
if ($conn->connect_error) {
die("connessione fallita: " . $conn->connect_error);
}
$select = mysqli_query($conn, "SELECT * FROM STUDENTE WHERE email = '".$_POST['Email']."'");
if(mysqli_num_rows($select)) { // controllo se un'email simile già esiste per un altro studente
echo"<script> alert('email già esistente!!'); </script>";
}
else{ $sql = "
INSERT INTO STUDENTE(Nome,Cognome,Email,Pass_Stud)
VALUES ('" . $nome . "', '" . $cognome . "','" . $email . "','" . $password . "')";
// qui dovrei riempire tabella inserimento ma non so come fare!!!!
if ($conn->query($sql) === TRUE ) {
header("Location: inserimentoStud.php");
/* echo "New record creato";
echo "<br>";
echo "Effettua logout: <a href=logout.php>Logout</a>";
echo "<br>";
echo "Inserisci voti: <a href=inserimentoVoti.html>Inserisci Voti</a>";
echo "<br>";
echo "Inserisci studente: <a href=inserimentoStud.html>Inserisci stud</a>";*/
}
else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
}
function test_input($data) {
$data = trim($data); // rimuovo caratteri strani
$data = stripslashes($data); // rimuovo backslashes
$data = htmlspecialchars($data); // converto caratteri predefiniti in entità hmtl
return $data;
}
?>
<html>
<head>
<title>Inserimento Studente</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans&display=swap">
<link rel="stylesheet" href="style2.css">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<script type="text/javascript">
<!--
function valida(){
var nom = document.inserimento.Nome.value;
var cogn=document.inserimento.Cognome.value;
var pass = document.inserimento.Pass_Stud.value;
var email = document.inserimento.Email.value;
var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
if(nom == ""){
alert("inserisci nome!");
return false;
}
if(cogn == ""){
alert("inserisci cognome!");
return false;
}
if(pass== ""){
alert("inserisci password!");
return false;
}
if((pass.length <= 5) || (pass.length > 20)) {
alert("La password deve essere compresa tra i 5 e 20 caratteri!!");
return false;
}
if(email == ""){
alert("inserisci email!");
return false;
}
if(!email.match(mailformat))
{
alert(" email address non valido!");
document.inserimento.Email.focus();
return false;
}
alert("Inserimento inviato!!");
return true;
}
//-->
</script>
</head>
<body>
<form method ="post" action="" name="inserimento">
<h1>Inserimento Stud</h1>
<input type="text" id="Nome" placeholder="Nome" name="Nome" required>
<input type="text" id="Cognome" placeholder="cognome" name="Cognome" required>
<input type="password" id="Pass_Stud" placeholder="Password" name="Pass_Stud" required>
<input type="text" id="Email" placeholder="email" name="Email" required>
<button type="sumbit" name="Registra" onClick="return valida()">Inserisci</button>
<br>
<a href="logout.php">Logout </a>
<br>
<a href="inserimentoVoti.php">Inserisci voti </a>
</form>
</body>
</html>