Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 28
  1. #1

    Passare una variabile ad un db

    Salve a tutti.
    Sto cercando di passare la variabile $mypass ad un db mysql perchè l'intento finale è quello di aggiornare il database con una password nuova creata da uno script apposito.

    Questo il form iniziale:
    codice:
    <table width="400" border="0" align="center" cellpadding="3" cellspacing="1">
    <tr>
    <td>Inserimento dati </td>
    </tr>
    </table>
    
    <table width="400" border="0" align="left" cellpadding="0" cellspacing="1">
    <tr>
    <td><form name="form1" method="post" action="insert.php">
    <table width="100%" border="0" cellspacing="1" cellpadding="3">
    <tr>
    <td width="16%">Cognome</td>
    <td width="2%">:</td>
    <td width="82%"><input name="cognome" type="text" id="cognome" size="50"></td>
    </tr>
    <tr>
    <td>Nome</td>
    <td>:</td>
    <td><input name="nome" type="text" id="nome" size="50"></td>
    </tr>
    <tr>
    <td>Cellulare</td>
    <td>:</td>
    <td><input name="cellulare" type="text" id="cellulare" size="50"></td>
    </tr>
    <tr>
    <td><input type="hidden" value="<? echo $password; ?>" name="password" id="password" size="50"></td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    <td><input type="submit" name="Invia" value="Invia"> <input type="reset" name="Cancella" value="Cancella"></td>
    </tr>
    </table>
    </form>
    </td>
    </tr>
    </table>
    Mentre questo è lo script per la creazione della password:
    codice:
    <?php
    // Imposto la lunghezza della password a 10 caratteri
    $lung_pass = 10;
    
    // Creo un ciclo for che si ripete per il valore di $lung_pass
    for ($x=1; $x<=$lung_pass; $x++)
    {
      // Se $x è multiplo di 2...
      if ($x % 2){
    
        $mypass = $mypass . chr(rand(97,122));
    
      // Se $x non è multiplo di 2...
      }else{
    
        // Aggiungo alla password un numero compreso tra 0 e 9
        $mypass = $mypass . rand(0,9);
    
      }
    }
    // echo $mypass
    ?>
    Qualcuno sa indicarmi la retta via?
    Grazie!

  2. #2
    Scusami, ma le due pagine da cosa sarebbero collegate?

  3. #3
    La pagina index.php contiene entrambi i codici postati prima ed è collegata a insert.php dove c'è il codice per l'inserimento dei dati nel db.

    Quindi index.php è questo:
    codice:
    <?php
    // Imposto la lunghezza della password a 10 caratteri
    $lung_pass = 10;
    
    // Creo un ciclo for che si ripete per il valore di $lung_pass
    for ($x=1; $x<=$lung_pass; $x++)
    {
      // Se $x è multiplo di 2...
      if ($x % 2){
    
        $mypass = $mypass . chr(rand(97,122));
    
      // Se $x non è multiplo di 2...
      }else{
    
        // Aggiungo alla password un numero compreso tra 0 e 9
        $mypass = $mypass . rand(0,9);
    
      }
    }
    // echo $mypass
    ?> 
    
    <table width="400" border="0" align="center" cellpadding="3" cellspacing="1">
    <tr>
    <td>Inserimento dati </td>
    </tr>
    </table>
    
    <table width="400" border="0" align="left" cellpadding="0" cellspacing="1">
    <tr>
    <td><form name="form1" method="post" action="insert.php">
    <table width="100%" border="0" cellspacing="1" cellpadding="3">
    <tr>
    <td width="16%">Cognome</td>
    <td width="2%">:</td>
    <td width="82%"><input name="cognome" type="text" id="cognome" size="50"></td>
    </tr>
    <tr>
    <td>Nome</td>
    <td>:</td>
    <td><input name="nome" type="text" id="nome" size="50"></td>
    </tr>
    <tr>
    <td>Cellulare</td>
    <td>:</td>
    <td><input name="cellulare" type="text" id="cellulare" size="50"></td>
    </tr>
    <tr>
    <td><input type="hidden" value="<? echo $mypass; ?>" name="password" id="password" size="50"></td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    <td><input type="submit" name="Invia" value="Invia"> <input type="reset" name="Cancella" value="Cancella"></td>
    </tr>
    </table>
    </form>
    </td>
    </tr>
    </table>
    Questo invece è insert.php
    codice:
    <?php
    $con = mysql_connect("localhost","root","master01");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
    
    mysql_select_db("form", $con);
    
    $sql="INSERT INTO test (cognome, nome, cellulare, password)
    VALUES
    ('$_POST[cognome]','$_POST[nome]','$_POST[cellulare]','$_POST[mypass]')";
    
    if (!mysql_query($sql,$con))
      {
      die('Error: ' . mysql_error());
      }
    echo "1 record added";
    
    mysql_close($con)
    ?>

  4. #4
    Ah ecco.

    Controlla bene il form.

    Hai messo il nome del campo password "password" e nella query invece richiami $_POST[mypass] che ovviamente non esiste

    Altra cosa, la query di inserimento falla così:

    Codice PHP:
    $sql="INSERT INTO test (cognome, nome, cellulare, password)
    VALUES
    ('"
    .$_POST['cognome']."','".$_POST['nome']."','".$_POST['cellulare']."','".$_POST['password']."')"

  5. #5
    Ciao,
    ma la query non l'hai eseguita?

    Codice PHP:
    $rs mysql_query($sql$con); 
    dallo script postato da te mi sembra che tu controlli se e' stata eseguita la query,
    con questo codice:

    Codice PHP:
    if (!mysql_query($sql,$con))
      {
      die(
    'Error: ' mysql_error());
      }
    echo 
    "1 record added"
    secondo me va scritto cosi

    Codice PHP:
    $rs mysql_query($sql$con);
    if (!
    mysql_query($sql,$con))
      {
      die(
    'Error: ' mysql_error());
      }
    echo 
    "1 record added"
    ciao

  6. #6
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    @lorenzo_jazz: scrivere così
    Codice PHP:
    $rs mysql_query($sql$con);
    if (!
    mysql_query($sql,$con))
      {
      die(
    'Error: ' mysql_error());
      }
    echo 
    "1 record added"
    è sbagliato perchè esegui due volte la stessa query.

    Questo
    Codice PHP:
    if (!mysql_query($sql,$con))
      {
      die(
    'Error: ' mysql_error());
      }
    echo 
    "1 record added"
    è lo script esatto. Quello sopra avresti dovuto scriverlo così:
    Codice PHP:
    $rs mysql_query($sql$con);
    if (!
    $rs)
      {
      die(
    'Error: ' mysql_error());
      }
    echo 
    "1 record added"
    Ma il secondo script è comunque migliore perchè è ottimizzato!
    "Se non riuscirò a piegare gli dei del cielo, smuoverò le potenze dell'inferno"
    S. Freud

  7. #7
    Giusto non mi ero accorto
    il campo password nel form ha come nome="password",
    ma poi lo recuperi con $_GET["mypass"]

  8. #8
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    Esatto lorenzo_jazz, quello che hai appena detto è l'errore che ha commesso kingvi!
    "Se non riuscirò a piegare gli dei del cielo, smuoverò le potenze dell'inferno"
    S. Freud

  9. #9
    Grandissimi, funziona!

  10. #10
    Ora che funziona anche il redirect nella seconda pagina insert.php, avrei bisogno di fare un controllo nel campo cellulare.

    Qualcosa del tipo: se cellulare è diverso dai numeri di cellulari già presenti nel db, allora prosegui con l'inserimento dei dati, altrimenti mostra a video "aspetta domani".

    Mi sapete magari indicare una sorta di guida?

    Grazie!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.