Institut Francais
Utilité pour l'interrogation de base de données "pins"; table "pin". Fais le login avec un utilisateur qui as du acces seulement par la table réspectif ("pin")
* '; $query_delimiter = ' ------------------ '; //state not set = default page //state login = wellcome page //state show = shows database entries //state update = database form //state insert = database form insert //state delete = deletes entry and reloads state show $servername = "localhost"; $dbname = "pins"; $conn = ''; $d = 1; function logIn($user, $pass){ global $conn, $servername, $dbname; try{ $conn = new PDO("mysql:host=$servername; dbname=$dbname", $user, $pass); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $conn->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true); $conn->exec("set names utf8"); } catch (PDOException $e){ echo "Login failed: " . $e->getMessage(); $conn = -1; } } function defAction(){ return "/db_update/info.html"; } function hideLogin(){ echo ' '; } if(isset($_POST['state'])){ $user = $_POST["usr"]; $pass = $_POST["psw"]; hideLogin(); if($_POST['state'] === 'login'){ logIn($user, $pass); if(!($conn === -1)){ echo 'Logged in as ' . $user; } } else if($_POST['state'] === "show"){ logIn($user, $pass); if(!($conn === -1)){ echo 'Logged in as ' . $user . '
'; echo 'Database state:' . '
'; $query = 'SELECT * FROM pin LIMIT 0'; $rs = $conn->query($query); $query = 'SELECT * FROM pin'; foreach($conn->query($query) as $row){ echo $query_delimiter; for($i = 0; $i < $rs->columnCount(); $i++) { $col = $rs->getColumnMeta($i); echo $query_element; echo $col['name'] . ' : ' . $row[$col['name']]; } echo '
' . $query_delimiter; echo '
'; } } } else if($_POST['state'] === "delete"){ //$_POST['markerid']; logIn($user, $pass); $query = "DELETE FROM pin WHERE MarkerID=" . $_POST['markerid']; try{ $conn->exec($query); echo "Deleted"; } catch(PDOException $e){ echo $e->getMessage(); } } else if($_POST['state'] === "update"){ logIn($user, $pass); echo '
'; $query = 'SELECT * FROM pin LIMIT 0'; $rs = $conn->query($query); echo $query_delimiter; for($i = 0; $i < $rs->columnCount(); $i++){ $tmp = 'name'; $col = $rs->getColumnMeta($i); if(!($col['name'] == "MarkerID")){ echo $query_element . $col[$tmp]; if(!($col['name'] == "text")){ echo ' '; } else{ echo ' '; } } } echo '
'; echo '

'; } else if($_POST['state'] === 'insert'){ logIn($user, $pass); $query = 'SELECT * FROM pin LIMIT 0'; $rs = $conn->query($query); $query = "INSERT INTO pin ("; $j = 0; for($i = 0; $i < $rs->columnCount(); $i++){ $col = $rs->getColumnMeta($i); if(!($col['name'] == "MarkerID")){ if($j > 0) $query = $query . ','; $j = 1; $query = $query . $col['name']; } } $query = $query . ") VALUES ("; $j = 0; for($i = 0; $i < $rs->columnCount(); $i++){ $col = $rs->getColumnMeta($i); if(!($col['name'] == "MarkerID")){ if($j > 0) $query = $query . ','; $j = 1; $query = $query . "'"; $query = $query . $_POST[$col['name']]; $query = $query . "'"; } } $query = $query . ')'; try{ $conn->exec($query); } catch(PDOException $e){ echo $e->getMessage(); } echo '
Inserted

'; } } else{ echo ' '; } ?>
Username:

Password: