Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Ciclo foreach e sessioni

    Ciao ragazzi ho un problema con uno script!
    Allora ho creato un'array contenente 3 elementi per ogni elemento di questo array,stampa un form per mandare una variabile "anno" alla pagina php! Contemporaneamente registra una sessione per ogni elemento dell'array
    Questo è il codice:

    Codice PHP:

    $mat1
    = array ("chimica","biologia","anatomia1");



    //vedo a che anno è l'utente e stampo i link ai form delle materie a cui si può prenotare
    if ($Row[anno]==1){

    foreach (
    $mat1 as $mat1Item) {
    //registro la variabile tirata fuori dall'array nella sessione


    session_register('mat1Item');
            
    $_SESSION['mat1Item'] = $mat1Item;
    //fine registrazione


    //stampo il link per la materia (con form hidden)
    echo"
    <form name=\"
    $mat1Item\" method=\"post\" 
    action=\""
    .$mat1Item.".php\"> 
    <input type=\"hidden\" value=\"
    $Row[anno]\" name=\"anno\"></input>
    </form> 
    <a href=\"#\" onClick=\"document.
    $mat1Item.submit() 
    \">Clicca per prenotarti all'appello di 
    $mat1Item </a>

    "
    ;
    }

    Il problema è che ad esempio alla pagina chimica.php [cioè quella corrispondente al primo elemento dell'array] arriva,tramite sessione, l'ultimo elemento dell'array cioè anatomia1 penso che il problema sia dovuto al ciclo foreach!
    Suggerimentiiiiiiii thanksssssssss


  2. #2
    mi sfugge lo scopo che vuoi raggiungere, e l'utilità del form..

    a parte che session register è deprecato

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    quoto quello che dice guido, e comunque tu sovrascrivi sempre la stessa variabile, per cui è ovvio che alla fine ti rimanga l'ultimo valore

  4. #4
    allora devo passare due variabili $anno e $materia [componente dell'array $mat1] alla pagina chimica.php e successivamente $materia lo passo anche alla pagina appello.php[questa è una pagina inclusa alla pagina chimica.php]
    Fino a passare le variabili alla pagina chimica.php ci sono il problema sta nel passarli ad appello.php
    Questa è la pagina chimica.php

    Codice PHP:

    <form action="controllo_dati.php" METHOD="POST">
    <table border=0 cellpadding=0 cellspacing=0 width=450>
    <tr><td colspan=2><img src=barra.gif width=450 height=36></td></tr>


    <tr>
      <td>NickName:</td>
      <td><?php  echo $_SESSION['username']; ?>
    </td>
    </tr>
    <tr>
      <td>Scegli appello:</td>
      <td><select name="Array[appello]">
    <option><?php
    //in questa pagina inclusa appello.php devo far arrivare la variabile $materia come posso fare? Avevo provato con il metodo GET ma nn restituisce alcun risultato, quindi ho provato con le sessioni ma arriva soltanto l'ultimo componente dell'array precedentemente postato!
     
    include "appello.php"?></option>
    <option> <?php include "appello2.php"?></option>
    <option><?php include "appello3.php"?> </option>
    <option><?php include "appello_speciale.php"?></option>


    </select>
    </td>
    </tr>
    <tr>
      <td>Numero matricola:</td>
      <td><?php 
      
    echo $_SESSION['numero_matricola'];
    ?>

    </td>
    </tr>
    <tr>
      <td>Materia</td>
      <td><select name="Array[materia]">
    <option>Chimica  </option>



    </select>
    </td>
    </tr>


    <tr>
    <td> <input type="Submit" name="Invia" value="Invia!"></td><td><input type="reset" name="Resetta" value="Resetta!"></td>
    </tr>
    <tr><td colspan="2"><div align="center">[img]barra2.gif[/img]</div></td></tr>
    </tr>
    </table>
    </form>

  5. #5

  6. #6
    Ho risolto in altro modo!!!
    Grazie lo stesso!


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.