• Home
  • Forum
  • Fare Web
  • PHP

problema con form

  • Creatore Discussione Creatore Discussione _Ania
  • Data di inizio Data di inizio 8 Apr 2012
Prec.
  • 1
  • 2
  • 3
  • 4
Primo Prec. 4 di 4
A

_Ania

Utente Attivo
8 Apr 2012
31
0
0
Roma
  • 9 Apr 2012
  • #61
Ecco l'epico parto di criric

il file che contiene il form vero e proprio:

PHP:
<?php 
require_once "sezioni.php"; 
$messaggio = "&nbsp;"; 
if (isset($_POST['prenota']) && $_POST['prenota']) { 
    $campi_vuoti = true; 

   foreach ($_POST as $key => $value) { 

        $_POST[$key] = protect($value); 
        if (empty($value)) { 
            $campi_vuoti = false; 
            $messaggio = ">>>>>>> Tutti i campi sono obbligatori <<<<<<<"; 
        } 
        if ($key == "persone") { 
            // verifichiamo che persone sia un numero 
            if (is_numeric($_POST[$key])) { 
                // ricontrolliamo la disponibilita 
                $prenotati = conta($_POST['date'], $_POST['orario']); 

                if (($_POST[$key] + $prenotati) > 50) { 
                    $campi_vuoti = false; 
                    // ripuliamo la select dell'orario 
                    unset($_POST['orario']); 
                    $messaggio = ">>>>>>> I posti richiesti non sono pi&ugrave; disponibili <<<<<<<"; 
                } 
            } else { 
                $campi_vuoti = false; 
                $messaggio = ">>>>>>> Il campo persone deve essere numerico <<<<<<<"; 
            } 
        } 
        // se troviamo un errore usciamo dal ciclo 
        if ($campi_vuoti == false) { 
            break; 
        } 
    } 
    if ($campi_vuoti) { 
        $connessione = mysql_connect("nome-server", "nome-utente", "password-utente", "nome-database"); 
        $db = mysql_select_db("nome-database"); 
        $query = "INSERT INTO utenti SET nome = '" . $_POST['nome'] . "', 
                                         cognome = '" . $_POST['cognome'] . "', 
                                         mail = '" . $_POST['mail'] . "', 
                                         telefono = '" . $_POST['telefono'] . "', 
                                         persone = " . $_POST['persone'] . ", 
                                         data = '" . $_POST['date'] . "', 
                                         orario = '" . $_POST['orario'] . "'"; 
        $risultato = mysql_query($query); 
        mysql_close(); 
       if ($risultato) {
            unset($_POST);
            $messaggio = ">>>>>> Prenotazione accettata <<<<<<< <br/><br/><a href='/home.html'>Torna alla home</a>";
        } else {
            unset($_POST);
            $messaggio = ">>>>>>> Errore contatta la direzione <<<<<<< <br/> <a href='/home.html'>Torna alla home</a>";
        }
    } 
} 

echo "<p class='Sottotitolo' align='center'>$messaggio</p>";

?> 
 
<table width="357" align="center">  
    <form method="post" action="">
     
        <tr> 
        
       	 
            <td colspan="2"> 
                <span class="Sottotitolo"><br/>Scegli la data : </span> &nbsp;
                <select name="date" onchange="this.form.submit()"> 
                    <!-- qui le date disponibili --> 
                    <option value=""></option> 
                    <option value="2012-04-08" 
                    <?php 
                    if (isset($_POST['date']) && $_POST['date'] == "2012-04-08") { 
                        echo " selected='selected'"; 
                    } 
                    ?> 
                            >08 Aprile 2012</option> 
                    <option value="2012-04-15" 
                    <?php 
                    if (isset($_POST['date']) && $_POST['date'] == "2012-04-15") { 
                        echo " selected='selected'"; 
                    } 
                    ?>         
                            >15 Aprile 2012</option> 
                </select>          </td> 
        </tr> 
        <tr> 
            <td colspan="2" class="Testo_bianco"> 
                <span class="Sottotitolo">Scegli l'orario : </span>&nbsp; 
                <select name="orario" onchange="this.form.submit()"> 
                    <?php 
                    // qui metterai gli orari disponibili 
                    $array_orari = array("14:00", "14:30", "15:00", "15:30", "16:00","16:30","17:00","17:30","18:00","18:30", "19:00"); 
                    if (isset($_POST['date'])) { 
                        $data = $_POST['date']; 
                    } else { 
                        $data = "2012-04-08"; 
                    } 
                    echo "<option value=''></option>"; 
                    foreach ($array_orari as $value) { 
                        if (conta($data, $value) < 50) { 
                            echo "<option value='$value'"; 
                            if (isset($_POST['orario']) && $_POST['orario'] == $value) { 
                                echo " selected='selected'"; 
                            } 
                            echo ">$value</option>"; 
                        } 
                    } 
                    ?> 
                </select> 
                <span> 
                    <?php 
                    if (isset($_POST['orario']) && !empty($_POST['orario'])) {
						$limite = (50 - conta($data, $_POST['orario']));
						 echo " " . (50 - conta($data, $_POST['orario'])) . " posti liberi";
                    } 
                    ?> 
                </span>          </td> 
        </tr> 
        <tr> 
            <td colspan="2" class="Testo_bianco"><div align="center">
              <p><span class="Sottotitolo"><br/>
              Riempi i seguenti campi per prenotare :</span></p>
              <p><span class="Sottotitolo"> <br/>
                </span>
              </p>
            </div></td> 
      </tr> 
        <tr> 
            <td class="Sottotitolo">Nome:</td> 
            <td><input type="text" name="nome"
                <?php
                if (isset($_POST['nome'])) {
                    echo " value='" . $_POST['nome'] . "'";
                }
                ?>/></td> 
        </tr> 
        <tr> 
            <td class="Sottotitolo">Cognome:</td> 
            <td><input type="text" name="nome"
                <?php
                if (isset($_POST['cognome'])) {
                    echo " value='" . $_POST['cognome'] . "'";
                }
                ?>/></td>  
        </tr> 
        <tr> 
            <td class="Sottotitolo">Numero di telefono:</td> 
            <td><input type="text" name="telefono"
                <?php
                if (isset($_POST['telefono'])) {
                    echo " value='" . $_POST['telefono'] . "'";
                }
                ?>/></td>  
        </tr> 
        <tr> 
            <td class="Sottotitolo">Indirizzo email:</td> 
            <td><input type="text" name="mail"
                <?php
                if (isset($_POST['mail'])) {
                    echo " value='" . $_POST['mail'] . "'";
                }
                ?>/></td>  
        </tr> 
        <tr> 
            <td class="Sottotitolo">Numero di persone:</td> 
            <td class="Sottotitolo"><select name="persone">
                    <?php
                    if (isset($_POST['orario']) && !empty($_POST['orario'])) {
                        for ($i = 1; $i <= $limite; $i++) {
                            echo "<option value='$i'>$i</option>";
                        }
                    }
                    ?>
                </select></td> 
        </tr>
            <td colspan="2" align="center"><input type="submit" name="prenota" value="Prenota"/></td> 
        </tr> 
    </form> 
</table>

e il file di supporto in php "sezioni"
PHP:
<?php

function conta($data, $orario) { 
    $connessione = mysql_connect("nome-server", "nome-utente", "password-utente", "nome-database"); 
    $db = mysql_select_db("nome-database"); 
    $query = "SELECT  sum(persone) as somma 
                    FROM utenti WHERE data = '$data' && orario = '$orario' GROUP BY orario"; 
    $result = mysql_query($query) or die(mysql_error()); 
    $row = mysql_fetch_array($result); 
    mysql_close(); 
    return $row['somma']; 
} 

function protect($string) { 
    $string = strip_tags($string); 
    $string = htmlentities($string); 

    if (function_exists('get_magic_quotes_gpc') && !get_magic_quotes_gpc()) { 
        $string = addslashes($string); 
    } 

    return $string; 
} 

?>

p.s. Ho provato a fare la modifica che dicevi, ma temo che sia lesiva per i tecnolesi che non capiranno se hanno selezionato il numero giusto...meglio una casella singola...

Davvero non so come ringraziarvi, va bene cercare aiuto su forum, ma voi (tu criric) mi avete riscritto tutto il codice di sana pianta!

Non mancherà una citazione di ringraziamento sulla pagina quando sarà on line. Anche se non ci fate nulla...Anzi, probabilemente vi troverete invasi da incapaci come me che vi tortureranno!

Cmq, grazie
Stefania
 
Prec.
  • 1
  • 2
  • 3
  • 4
Primo Prec. 4 di 4
Devi accedere o registrarti per poter rispondere.

Discussioni simili

M
Problema con controllo form in real time
  • migo80
  • 21 Dic 2020
  • jQuery
Risposte
6
Visite
4K
jQuery 30 Dic 2020
migo80
M
[PHP] Popolamento database con form ricorsivi - problema array (foreach )
  • alessandra86
  • 28 Giu 2018
  • PHP
Risposte
5
Visite
3K
PHP 12 Lug 2018
alessandra86
Problema con creazione form css/mobile
  • Emix
  • 22 Gen 2018
  • HTML e CSS
Risposte
3
Visite
2K
HTML e CSS 24 Gen 2018
Emix
[PHP] Problema form con lista
  • zammaeng
  • 25 Gen 2017
  • PHP
Risposte
8
Visite
2K
PHP 26 Gen 2017
borgo italia
B
problema con i form
  • Brogelli
  • 23 Dic 2015
  • Javascript
Risposte
0
Visite
1K
Javascript 23 Dic 2015
Brogelli
B
D
Form Registrazione con conferma via email - problema
  • Dylan VDj Canziani
  • 27 Mar 2015
  • PHP
Risposte
10
Visite
3K
PHP 3 Mag 2015
Dylan VDj Canziani
D
P
Problema creazione form con ajax
  • pippuccio76
  • 26 Gen 2015
  • PHP
Risposte
1
Visite
1K
PHP 26 Gen 2015
criric
S
Problema con Form CSS
  • simo96
  • 4 Gen 2015
  • HTML e CSS
Risposte
1
Visite
2K
HTML e CSS 4 Gen 2015
Max 1
F
Problema con passaggio variabile da form
  • ferr
  • 17 Nov 2014
  • PHP
Risposte
3
Visite
2K
PHP 18 Nov 2014
ferr
F
J
Problema con form in bootstrap
  • Jakub Lemiszewski
  • 26 Set 2014
  • HTML e CSS
Risposte
0
Visite
3K
HTML e CSS 26 Set 2014
Jakub Lemiszewski
J
O
Problema con refresh/form
  • Oliver79
  • 21 Mar 2014
  • PHP
Risposte
0
Visite
1K
PHP 21 Mar 2014
Oliver79
O
M
problema con form scrittura su mysql
  • master1986
  • 21 Feb 2014
  • PHP
Risposte
3
Visite
2K
PHP 22 Feb 2014
Longo8
S
Problema php con form
  • surapazzo
  • 19 Dic 2013
  • PHP
Risposte
0
Visite
1K
PHP 19 Dic 2013
surapazzo
S
T
problema strano con procedura di controllo da database, di dati immessi in un form asp
  • Toscano
  • 2 Dic 2013
  • Classic ASP
Risposte
5
Visite
2K
Classic ASP 4 Dic 2013
Paolo69
A
problema con un form
  • arapecoston
  • 8 Giu 2013
  • HTML e CSS
  • 2 3 4
Risposte
77
Visite
10K
HTML e CSS 13 Lug 2013
borgo italia
S
Problema con l'invio del form in php
  • sephiroth84
  • 9 Feb 2013
  • PHP
Risposte
0
Visite
1K
PHP 9 Feb 2013
sephiroth84
S
Y
problema allineamento form con internet explorer
  • yenn
  • 7 Feb 2013
  • HTML e CSS
Risposte
2
Visite
2K
HTML e CSS 9 Feb 2013
yenn
Y
A
problema con form paypal
  • andy2481
  • 16 Gen 2013
  • HTML e CSS
Risposte
0
Visite
1K
HTML e CSS 16 Gen 2013
andy2481
A
A
Piccolo problema con form email
  • Alespanu95
  • 4 Gen 2013
  • HTML e CSS
Risposte
2
Visite
2K
HTML e CSS 5 Gen 2013
Alespanu95
A
P
problema validazione form con ajax e jquery
  • processore
  • 29 Nov 2012
  • Ajax
Risposte
0
Visite
2K
Ajax 29 Nov 2012
processore
P
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?