Passaggio variabili tramite form

« Older   Newer »
 
  Share  
.
  1. Segmentation Fault
     
    .

    User deleted


    Allora ragazzi ho due pagine

    la prima test.php

    CODICE
    <?php
           Echo ('<html><title>Prova</title><body>');
           Echo ('ciao');
           
           Echo '<form name="input" action="help.php" method="POST">
    Username: <input type="text" name="user" />
    <input type="submit" value="Submit" />
    </form> ';
           Echo ('</body></html>');
           ?>



    la seconda help.php


    CODICE
    <?php

    $nome_utente = @$_POST['user'];
    Echo('$nome_utente');

    ?>



    Il problema è che non mi viene passata la variabile all altra pagine (help.php) .perchè?


    grazie ;)
     
    Top
    .
  2.  
    .
    Avatar

    Senior Member

    Group
    Staff
    Posts
    10,796

    Status
    Anonymous
    test.php potrebbe anche diventare test.html, visto che non contiene codice php, o meglio non serve codice PHP in quanto il form è html.

    CODICE
    <html>
    <head>
    <title>Prova</title>
    </head
    <body>
    <p>ciao<br></p>

    <form name="input" action="help.php" method="POST">
     Username: <input type="text" name="user" />
     <input type="submit" value="Submit" />
    </form>
    </body>
    </html>


    E help.php

    CODICE
    <html>
    <head>

    </head>

    <body>
    Nome: <?php echo $_POST["user"]]; ?>
    </body>
    </html>



    A quanto mi ricordo, così dovrebbe funzionare...
     
    Top
    .
  3. meh.
     
    .

    User deleted


    QUOTE (Segmentation Fault @ 7/4/2012, 10:08) 
    Allora ragazzi ho due pagine

    la prima test.php

    CODE
    <?php
           Echo ('<html><title>Prova</title><body>');
           Echo ('ciao');
           
           Echo '<form name="input" action="help.php" method="POST">
    Username: <input type="text" name="user" />
    <input type="submit" value="Submit" />
    </form> ';
           Echo ('</body></html>');
           ?>



    la seconda help.php


    CODE
    <?php

    $nome_utente = @$_POST['user'];
    Echo('$nome_utente');

    ?>



    Il problema è che non mi viene passata la variabile all altra pagine (help.php) .perchè?


    grazie ;)

    Il problema, oltre al tuo palese arrivare da visual basic o affini, e' che hai usato '' invece di "" tentando di interpolare la variabile.
     
    Top
    .
  4. Segmentation Fault
     
    .

    User deleted


    conosco solo C/C++ meh xD
    cmq si sbagliavo a fare "esplodere" (a quanto pare si dice cosi nel gergo??) la variabile.

    Mi servo di questo topic per una altra domanda:

    in C/C++ potevo creare liste dinamiche e in linea di massima creare catene "infinite" di dati
    in php è possibile una cosa del genere?
    mi spiego:

    vorrei usare un array per caricare dati da un file..ma non conoscendo apriori la dimensione necessaria mi servirebbe una specie di lista per salvare questi dati.
    come è possibile farlo?

    grazie ancora ;)
     
    Top
    .
  5.  
    .
    Avatar

    0x80

    Group
    Best Users
    Posts
    1,346
    Location
    Dunno

    Status
    Anonymous
    In PHP puoi assegnare come e quando vuoi un valore ad un dato indice di un array, non c'e' bisogno di allocare ne' riallocare nulla.
    e.g.: Un codice del genere e' del tutto lecito:

    CODE
    <?php
       $a[0] = 3;
       $a[4] = 8;
     
       print $a[0];
    ?>



    Bada pero' ad accedere a componenti con indice che non hai definito, produrrebbe un errore "PHP Notice" se non erro.
     
    Top
    .
  6. Segmentation Fault
     
    .

    User deleted


    Perfetto ma ora ho questo problema:

    ho fatto un file di login nel quale un vettore viene caricato con i dati account di ogni utente.
    per esempio vettore[1]=nomeutente , vettore[2]=password...e cosi via
    avrei potuto usare una matrice ma volevo provare con gli array

    il problema è questo:

    CODICE
    <?php

    $nome_utente = $_POST['user'];
    $nome_passw = $_POST['passw'];

    $elenco = file('file1.txt'); //CARICA TUTTO IL FILE IN ARRAY
    echo("$nome_utente");
    echo("$elenco[0]");

    foreach ($elenco as $indice => $valore){
           if($nome_utente==$elenco[$indice]){
                   if($nome_passw==$elenco[$indice+1]){
                           echo("ok");
                   }
           }
    }

    ?>



    Piu precisamente questa parte:

    CITAZIONE
    if($nome_utente==$elenco[$indice]){
    echo("$indice
    ");
    echo("$indice
    ");
    if($nome_passw==$elenco[$indice+1]){
    echo("ok");
    }

    è come se non mi confrontasse le stringhe...anche se sono effettivamente uguali
    perchè non deve funzionare???
     
    Top
    .
  7.  
    .
    Avatar

    Senior Member

    Group
    Staff
    Posts
    10,796

    Status
    Anonymous
    Puoi utilizzare strcmp(str1, str2); restituisce 0 se sono uguali, un numero minore di 0 se str1 è minore, ed un numero maggiore di 0 se è maggiore di stringa2.

    Ti conviene utilizzare una matrice.
     
    Top
    .
  8. Segmentation Fault
     
    .

    User deleted


    non funziona nemmeno con strcmp(str1, str2) ...cioè non capisco.
    le stringhe sono uguali lo vedo dagli echo
     
    Top
    .
  9. meh.
     
    .

    User deleted


    QUOTE (Segmentation Fault @ 8/4/2012, 21:15) 
    non funziona nemmeno con strcmp(str1, str2) ...cioè non capisco.
    le stringhe sono uguali lo vedo dagli echo

    == va benissimo, non serve usare strcmp.

    Il problema e' che file include \n nelle righe.
     
    Top
    .
  10.  
    .
    Avatar

    0x80

    Group
    Best Users
    Posts
    1,346
    Location
    Dunno

    Status
    Anonymous
    o usi :

    CODE
    strncmp($nome_utente, $elenco[$indice+1], strlen($elenco[$indice+1])-1);


    o trimmi la stringa e poi usi ==:

    CODE
    $newstr = rtrim($elenco[$indice+1], "\n");
    if($nome_utente == $newstr)
      ...
     
    Top
    .
9 replies since 7/4/2012, 09:08   125 views
  Share  
.