Visualizzazione risultati 1 fino 8 di 8

Discussione: problemi con le form

  1. #1
    Guest

    Predefinito problemi con le form

    cerco di esporvi il mio problema in php

    voglio creare una form che invii dati dopo un click

    come faccio in php a far eseguire delle azioni dopo che il pulsante è stato cliccato senza dover passare in un altro file php ma facendo tutto nella stessa pagina?

  2. #2
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    semplice...
    ma devi avere conoscenze di php. Vai qui:
    http://freephp.html.it

  3. #3
    Guest

    Predefinito

    ma un pò lo conosco tranquillo ;)

    mi pare si debba usare isset però volevo qualche migliore delucidazione

    un esempio semplice semplice

  4. #4
    Guest

    Predefinito

    per lavorare in php devi cambiare per forza pagina, ovvero mandare i dati del form in un'altra pagina php ke li interpreti e rielabori, per forza.
    se poi vuoi nascondere questo passaggio potresti per esempio far mandare i dati in un iframe nascosto o roba simile, a te l'inventiva di come imboscarlo, ma comunque una pagina la devi aprire

    ciao!

  5. #5
    Guest

    Predefinito

    ma no io qua ho fatto una ricerca e vedo gente che usa isset

    provo a postarvi il mio codice
    Codice:
    <?
    if(!isset($_POST['status']))
    {
    ?> 
    <form name="form1" method="post" action="<?=$PHP_SELF?>">
      Nome:
      <input name="Nome" type="text" id="nome">
      <br>
      <br>
      Cognome:
      <input name="Cognome" type="text" id="cognome">
      <br>
      <br>
      Nickname :
        <input name="Nick" type="text" id="nick">
        <br>
        <br>
      Email:
      <input name="Mail" type="text" id="email">
      <br>
      <br>
      Paese:
      <select name="Paese" size="1">
      <option value="1">Italia
      <option value="2">Spagna
      </select>
      <br>
      <br>
      <input type="submit" name="Submit" value="Registrati">
      <input type="reset" name="Submit2" value="Reset">
    </form></body>
    <?
     }
    else
    { 
    include "db.php";
    function random_pass() {
    
    
     $caratteri=8;
     for ($i=0;$i<$caratteri;$i++) {
     $rn=mt_rand(48, 122);
     if (($rn>=58 && $rn<=64) || ($rn>=91 && $rn<=96)) {
     $rn=mt_rand(48, 57);
     }
     $car[$i]=chr($rn);
     echo $car[$i];
     }
     echo "</b></td>";
     $bo=2;
    
     if ((($a+1) % $bo) == 0) {
     echo "</tr><tr>";
       }
     }
    $Nickname = $_POST['Nick'];
    $Pwd =   random_pass();
    $Email = $_POST['Mail'];
    $Nome = $_POST['Nome'];
    $Cognome = $_POST['Cognome'];
    $Paese = $_POST['Paese'];
    $Livello = 0;
    $Ban = 0;
    
    $Nickname = stripslashes($Nickname);
    $Pwd = stripslashes($Pwd);
    $Email = stripslashes($Email);
    
    if((!$Nickname) || (!$Email) || (!$Nome) || (!$Cognome) || (!$Paese)){
        echo 'Non hai inserito tutte le informazioni richieste nel modulo di registrazione! <br />';
        if(!$Nickname){
            echo "Inserisci il Nickname come richiesto nel modulo di registrazione!<br />";
        }
        if(!$Email){
            echo "Inserisci l'Email come richiesto nel modulo di registrazione!.<br />";
        }
        if(!$Nome){
            echo "Inserisci il Nome come richiesto nel modulo di registrazione!.<br />";
        }
        if(!$Cognome){
            echo "Inserisci il Cognome come richiesto nel modulo di registrazione!.<br />";
        }
    
        exit(); 
    }
    
    $sql_email_check = mysql_query("SELECT email FROM tab_utenti WHERE email='$Email'");
     $sql_username_check = mysql_query("SELECT nick FROM tab_utenti WHERE nome='$Nickname'");
    
     $email_check = mysql_num_rows($sql_email_check);
     $username_check = mysql_num_rows($sql_username_check);
    
     if(($email_check > 0) || ($username_check > 0)){
        echo "Correggi i seguenti errori: <br />";
        if($email_check > 0){
            echo "<strong>Cambia Email, il tuo indirizzo è gia in uso!</strong>";
            unset($email_address);
        }
        if($username_check > 0){
            echo "<strong>Cambia Nickname, il nome scelto è già in uso!</strong>";
            unset($username);
        }
    
        exit(); 
     }
    
    $MySql = "INSERT INTO tab_utenti (idutente,nick,pass,email,nome,cognome,paese,livello,ban) VALUES
        ('','".$Nickname."','".$Pwd."','".$Email."','".$Nome."','".$Cognome."','".$Paese."','".$Livello."','".$Ban."')";
        $Result = mysql_query($MySql);
        $num = mysql_insert_id();
        $subject = "Registrazione avvenuta !!!";
        $message = "
        QUESTA E' UN'EMAIL AUTOMATICA, NON RISPONDERE!";
    
        mail($Email, $subject, $message, "From: Freephp \nX-Mailer: PHP/" . phpversion());
        echo 'La registrazione è completata!I dati compresa la password con cui accedere al sito sono stati inviati per conferma al tuo indirizzo email';
    
     }
     ?>
    il problema è che quando clicco sul tasto mi ricarica la pagina e fa finta che sia andato tutto bene

  6. #6
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    Si, si usa isset e si può fare nella stessa pagina,
    sembra ok

  7. #7
    Guest

    Predefinito

    poi ho risolto...

    il problema era dato da quegli exit(); che praticamente mi uscivano dalla pagina e mi caricava il codice a metà...

    ora è tutto risolto...

  8. #8
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •