Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require_once('./collegamentoDb-MysSQL.php');
- if ($_SERVER["REQUEST_METHOD"] == "POST") {
- $formMessage = '';
- // Prepara la query per inserire i dati nella tabella contattami
- $sql = 'INSERT INTO contattami (nome, cognome, email, messaggio) VALUES (?, ?, ?, ?)';
- $query = $mysqli->prepare($sql);
- // Controlla se la preparazione della query è riuscita
- if (!$query) {
- die("Errore nella preparazione della query di inserimento: " . $mysqli->error);
- }
- // Raccogli i dati dal form
- $nome = $_POST['nome'];
- $cognome = $_POST['cognome'];
- $email = $_POST['email']; // Corretto l'errore di battitura
- $msg = $_POST['msg'];
- // Esegui l'inserimento nella tabella
- $query->bind_param('ssss', $nome, $cognome, $email, $msg);
- if ($query->execute()) {
- // Ottieni l'ultimo ID inserito
- $last_id = $mysqli->insert_id;
- $formMessage = '<div style="color: green;">Dati inviati con successo!</div>';
- // Esegui il redirect per evitare l'inserimento duplicato
- header("Location: " . $_SERVER['PHP_SELF']);
- exit(); // Assicurati di terminare lo script dopo il redirect
- } else {
- $formMessage = '<div style="color: red;">Errore durante l\'inserimento: ' . $query->error . '</div>';
- echo "Errore durante l'inserimento dei dati: " . $query->error;
- }
- // Chiudi la query
- $query->close();
- }
- ?>
- <!DOCTYPE html>
- <html lang="it">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <link rel="stylesheet" href="./style.min.css">
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
- <script src="./script_index.js" type="module"></script>
- <title>HomePage</title>
- </head>
- <body>
- <header>
- <nav class="hamburger-menu" id="hamburger-menu">
- <a href="#hamburger-menu" class="label-controllo">
- <span></span>
- </a>
- <a href="#" class="label-controlloChiuso">
- <span></span>
- </a>
- <ul id="menu">
- <li><a href="./index.php#home" class="voci-menu">Home</a></li>
- <li><a href="./index.php#about" class="voci-menu">About me</a></li>
- <li><a href="./index.php#portfolio" class="voci-menu">Servizi</a></li>
- <li><a href="./portfolio.php" class="voci-menu">Portfolio</a></li>
- <li><a href="./index.php#contattami" class="voci-menu">Contact Me</a></li>
- </ul>
- </nav>
- </header>
- <!-- qui il menu si chiude a scomparsa -->
- <a id="home"></a>
- <div id="container">
- <div class="text-main-container">
- <h1>
- <span id="saluto"></span>, <br>
- MI CHIAMO <span class="span2">GABRIEL</span> E <br>SONO UN <span class="span2">FULLSTACK DEVELOPER</span> .
- </h1>
- <p>-SEDE A ROME | ITALIA-</p>
- </div>
- </div>
- <a id="about"></a>
- <div id="aboutme-container">
- <div class="img-aboutme"></div>
- <div class="text-aboutme">
- <h2>About Me</h2>
- <p>
- Sono sempre stato affascinato dalla
- tecnologia <br>
- in tutte le sue forme. Amo le sfide, ed è per questo che ho deciso di
- diventare uno sviluppatore fullstack. <br>
- Oltre alla programmazione, ho una grande passione per l'arte e il
- design, e presto particolare attenzione alle CTA, all'UX e
- all'ottimizzazione dell'esperienza utente. <br>
- Sarò al tuo fianco nello sviluppo del tuo progetto, assicurandomi che
- ogni dettaglio sia perfetto. "Innovare significa trasformare
- l'ordinario in straordinario.
- </p>
- <a href="./document/CV Da Developer.pdf" target="_blank">Leggi il mio curriculum</a>
- </div>
- </div>
- <a id="portfolio"></a>
- <div id="porfolio">
- <div id="ContentPortfolio">
- <div id="TextPortfolio">
- <h2>PORTFOLIO</h2>
- <p>Scopri il mio mondo di creazioni digitali, dove l'arte del codice incontra l'innovazione. Attraverso l'uso sapiente di linguaggi come HTML, CSS, JavaScript e PHP, do vita a progetti unici che combinano design elegante e funzionalità impeccabile. Ogni linea di codice è pensata per offrire esperienze web fluide e coinvolgenti, dal layout responsive alle animazioni interattive. Che tu stia cercando un sito web accattivante o un'applicazione web potente, esplora i miei lavori per vedere come trasformo idee in realtà digitale. Non perdere l'occasione di vedere come la tecnologia può diventare arte!</p>
- <a href="./portfolio.php">Guarda i miei lavori</a>
- </div>
- <div id="linguaggi">
- <a href="https://it.wikipedia.org/wiki/HTML5" class="linguaggio html" target="_blank">
- <img src="./img/html.png" alt="HTML">
- <p>HTML5</p>
- </a>
- <a href="https://it.wikipedia.org/wiki/CSS" class="linguaggio css" target="_blank">
- <img src="./img/css.png" alt="CSS">
- <p>CSS/SCSS </p>
- </a>
- <a href="https://it.wikipedia.org/wiki/JavaScript" class="linguaggio js" target="_blank">
- <img src="./img/js.png" alt="html5">
- <p>JAVASCRIPT</p>
- </a>
- <a href="https://it.wikipedia.org/wiki/PHP" class="linguaggio php" target="_blank">
- <img src="./img/php.png" alt="html5">
- <p>PHP</p>
- </a>
- </div>
- </div>
- </div>
- <a id="contattami"></a>
- <div id="contact">
- <ul>
- <li>
- <img src="./img/Logo-Gmail.png" alt="Gmail">
- <div class="text_Social">
- <p> Email:</p>
- <p> [email protected] </p>
- </div>
- </li>
- <li>
- <img src="./img/Logo-Cell.png" alt="Cellulare">
- <div class="text_Social">
- <p> Cellulare: </p>
- <p> +39 3770803501 </p>
- </div>
- </li>
- <li>
- <img src="./img/Logo-Linkedin.png" alt="Linkedin">
- <div class="text_Social">
- <p> Linkedin: </p>
- <p> Gabriel Perini </p>
- </div>
- </li>
- <li>
- <img src="./img/Logo-IG.png" alt="Instagram">
- <div class="text_Social">
- <p> Instagram: </p>
- <p> Gabriel Perini </p>
- </div>
- </li>
- <li>
- <img src="./img/facebook._negativepng.png" alt="facebook">
- <div class="text_Social">
- <p> facebook: </p>
- <p> Gabriel Perini </p>
- </div>
- </li>
- </ul>
- <form action="#" method="post" novalidate id="client_Form_Message">
- <h2>Contattami</h2>
- <input type="text" placeholder="Nome" name="nome" id="nome" required>
- <div id="feedbackNome"></div>
- <input type="text" placeholder="Cognome" name="cognome" id="cognome" required>
- <div id="feedbackCognome"></div>
- <input type="email" placeholder="Email" name="email" id="email" required>
- <div id="feedbackEmail"></div>
- <textarea name="msg" id="msg" placeholder="Scrivi qui..." maxlength="255"></textarea>
- <div id="feedbackMsg"></div>
- <div id="termini_e_condizioni">
- <label for="policy">Accetto i <a href="#">termini e le condizioni d'uso</a></label>
- <input type="checkbox" id="policy" name="policy" required>
- </div>
- <div id="feedbackPolicy"></div>
- <div id="bottoni_Form">
- <button type="submit" name="Invia" id="invia">Invia</button>
- <button type="reset" name="pulisci">Pulisci</button>
- </div>
- </form>
- </div>
- <footer>
- <ul id="Footer-Menu">
- <li><a href="./index.php#home">Home</a></li>
- <li><a href="./index.php#about">About Me</a></li>
- <li><a href="./index.php#portfolio">Portfolio</a></li>
- <li><a href="./index.php#contattami">Contact Me</a></li>
- </ul>
- <ul id="Social-Links">
- <li><a href="https://www.instagram.com/gxbriel.p99/" target="_blank"><img src="./img/Logo-IG.negative.png" alt="ig" ></a></li>
- <li><a href="https://www.facebook.com/gabriel.perini99" target="_blank"><img src="./img/facebook.png" alt="ig"></a></li>
- <li><a href="https://www.linkedin.com/in/gabriel-perini99?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app" target="_blank"><img src="./img/Logo-Linkedin.negative.png" alt="ig"></a></li>
- </ul>
- <p>Copyright ©2024 GabrielPerini®. Tutti i diritti riservati.</p>
- </footer>
- </body>
- </html>
- ----scss------
- *,
- *::before,
- *::after {
- margin: 0;
- padding: 0;
- box-sizing: border-box;
- }
- /* menu hamburger */
- nav.hamburger-menu {
- /* Stile per la label che attiva il menu (hamburger icon) */
- .label-controllo {
- position: fixed; /* Fissato in una posizione */
- top: 20px; /* Distanza dal bordo superiore */
- left: 10px; /* Distanza dal bordo sinistro */
- width: 30px; /* Larghezza dell'icona */
- height: 30px; /* Altezza dell'icona */
- cursor: pointer; /* Trasforma il cursore in una mano */
- z-index: 300; /* Mantiene l'icona sopra gli altri elementi */
- /* Stili per le tre linee dell'icona hamburger */
- span,
- span::before,
- span::after {
- position: absolute;
- top: 10px;
- width: 25px; /* Larghezza delle linee */
- height: 2px; /* Spessore delle linee */
- background-color: darkgoldenrod; /* Colore delle linee */
- }
- /* Linea superiore dell'hamburger */
- span::before {
- content: ""; /* Pseudo-elemento */
- top: -8px; /* Posiziona la linea sopra quella centrale */
- }
- /* Linea inferiore dell'hamburger */
- span::after {
- content: ""; /* Pseudo-elemento */
- top: 8px; /* Posiziona la linea sotto quella centrale */
- }
- }
- /* Stile per l'icona di chiusura (x) quando il menu è aperto */
- .label-controlloChiuso {
- display: none; /* Nasconde l'icona finché il menu non è aperto */
- position: fixed;
- top: 30px; /* posizione dell'icona */
- left: 20px;
- width: 30px; /* Larghezza della croce */
- height: 30px; /* Altezza della croce */
- cursor: pointer;
- z-index: 300; /* Mantiene la croce sopra gli altri elementi */
- /* Stili per la croce */
- span,
- span::before,
- span::after {
- position: absolute;
- width: 30px; /* Larghezza delle linee */
- height: 2px; /* Spessore delle linee */
- background-color: darkgoldenrod; /* Colore delle linee */
- top: 10px; /* posizione dell'icona */
- z-index: 302;
- }
- /* Linea superiore della croce */
- span::before {
- content: ""; /* Pseudo-elemento */
- top: -8px; /* Posiziona la linea sopra quella centrale */
- }
- /* Linea inferiore della croce */
- span::after {
- content: ""; /* Pseudo-elemento */
- top: 8px; /* Posiziona la linea sotto quella centrale */
- }
- }
- /* Stile per il menu che si apre lateralmente */
- #menu {
- display: block;
- position: fixed;
- left: -100%; /* Menu nascosto fuori dallo schermo a sinistra */
- width: 30%; /* Larghezza del menu */
- height: 100vh; /* Occupa tutta l'altezza della finestra */
- padding: 80px 0; /* Spaziatura interna */
- backdrop-filter: blur(20px);
- box-shadow: 6px 1.5px 8.5px 1.5px #4e4d4d;
- box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4); /* Ombra per il menu */
- transition-duration: 0.25s; /* Transizione dolce quando il menu si apre */
- z-index: 202;
- /* Stile per le voci di menu */
- .voci-menu {
- display: block;
- padding: 12px 24px; /* Spaziatura interna delle voci di menu */
- color: black; /* Colore del testo delle voci di menu */
- font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
- font-size: 30px; /* Dimensione del testo */
- font-weight: 600; /* Spessore del testo */
- text-decoration: none;
- transition-duration: 0.25s; /* Transizione dolce per l'hover */
- z-index: 202;
- &:hover {
- padding-left: 60px;
- color: darkgoldenrod; /* Testo rosso al passaggio del mouse */
- z-index: 202;
- }
- }
- @media all and (max-width: 426px) {
- width: 100%;
- height: 100%;
- z-index: 202;
- }
- }
- /* Effetti quando il menu è attivato tramite il target */
- &:target {
- /* Nascondi l'icona hamburger quando il menu è aperto */
- .label-controllo {
- display: none;
- }
- /* Mostra l'icona di chiusura (croce) */
- .label-controlloChiuso {
- display: block;
- /* Trasforma l'icona hamburger in una croce */
- span {
- transform: rotate(45deg); /* Ruota la linea centrale */
- &::before {
- top: 0;
- transform: rotate(0deg); /* Mantiene la linea orizzontale */
- }
- &::after {
- top: 0;
- transform: rotate(90deg); /* Ruota la linea inferiore di 90 gradi */
- }
- }
- }
- /* Porta il menu a sinistra quando è attivato */
- #menu {
- left: 0 !important;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement