• User Attivo

    Form e inserimento dati

    Ciao a tutti,
    Allora ho un piccolo problema con un form in php.
    Posto il codice
    [php]
    echo "
    <form method="post" action="".$path."nuovoutente.php" >
    <br>
    <img src="".$path."immagini/personaggi/".$immagine[1]."" height="120" width="80" >
    <input type="radio" name="guerriero" value="guerriero">$nome[1]
    <img src="".$path."immagini/personaggi/".$immagine[2]."" height="120" width="80" >
    <input type="radio" name="diavolo" value="diavolo">$nome[2]
    <br>
    <input type="SUBMIT" nome="invia" value="invia" >

    </form>";
    [/php]
    Questo è il form, e nella pagina nuovoutente.php provo a printare i dati ricevuti
    [php]
    personaggio = $_POST['guerriero'];
    personaggio2 = $_POST['diavolo'];
    print "$personaggio e $personaggio2";
    [/php]
    Ma niente, non mi appare la scelta.
    Ora mi chiedo.. è sbagliato il form o boh?
    In pratica una volta ricevuta la scelta, devo effettuare un controllo per inserire i dati nel db..

    Grazie a chi saprà aiutarmi, Saluti.


  • User Attivo

    $personaggio = $_POST['guerriero'];
    $personaggio2 = $_POST['diavolo'];
    print "$personaggio e $personaggio2";


  • User Attivo

    No scusa è stato un errore di battitura.
    [php]
    $personaggio = $_POST['guerriero'];
    print $personaggio;
    [/php]
    Io scelgo di default il guerriero ma niente, non mi passa i dati.
    Dove sbaglio?

    Grazie, Saluti.


  • User Attivo

    I radio sono scelte tra n valori. Quindi devi scrivere qualcosa del tipo:

    
    <input type=radio name=guerriero value=primoguerriero>Primo guerriero
    <input type=radio name=guerriero value=secondoguerriero>Secondo guerriero
    <input type=radio name=guerriero value=terzoguerriero>Terzo guerriero
    
    

    E lui in guerriero ti ritorna il value di quello selezionato.


  • User Attivo

    @margheritebianche said:

    I radio sono scelte tra n valori. Quindi devi scrivere qualcosa del tipo:

    
    <input type=radio name=guerriero value=primoguerriero>Primo guerriero
    <input type=radio name=guerriero value=secondoguerriero>Secondo guerriero
    <input type=radio name=guerriero value=terzoguerriero>Terzo guerriero
    
    

    E lui in guerriero ti ritorna il value di quello selezionato.
    Grazie per la risposta,
    ho provato ma non cambia niente.
    [php]
    <form method="post" action="".$path."nuovoutente.php" >
    <br>
    <img src="".$path."immagini/personaggi/".$immagine[1]."" height="120" width="80" >
    <input type="radio" name="guerriero" value="guerriero">$nome[1]
    <img src="".$path."immagini/personaggi/".$immagine[2]."" height="120" width="80" >
    <input type="radio" name="guerriero" value="diavolo">$nome[2]
    <br>
    <input type="SUBMIT" nome="invia" value="invia" >

    </form>";
    [/php]
    Niente da fare non mi printa i dati! Come diamine posso fare?

    Grazie, Saluti.


  • User Attivo

    L'esempio è accessibile sul tuo sito? Se si magari ci do' un'occhiata!


  • User Attivo

    @margheritebianche said:

    L'esempio è accessibile sul tuo sito? Se si magari ci do' un'occhiata!
    No mi spiace è tutto in locale :S
    Cmq quello che devo fare è una pagina con i personaggi.
    C'è immagine personaggio e caratteristiche.
    immagine2 personaggio 2 e caratteristiche2.

    Oltre al input radio che posso utilizzare? Così vediamo quale sia il problema..

    Grazie, Saluti.


  • User Attivo

    Andiamo a passi, innanzitutto in questa riga:

    <form method="post" action="".$path."nuovoutente.php" >

    Falla così:

    <form method="post" action="".$path."nuovoutente.php" >

    Poi quando visualizzi il form fai visualizza sorgente (HTML) e dimmi come trasforma questa riga stessa (così vediamo se $path è corretto!


  • User Attivo

    @margheritebianche said:

    Andiamo a passi, innanzitutto in questa riga:

    <form method="post" action="".$path."nuovoutente.php" >

    Falla così:

    <form method="post" action="".$path."nuovoutente.php" >

    Poi quando visualizzi il form fai visualizza sorgente (HTML) e dimmi come trasforma questa riga stessa (così vediamo se $path è corretto!

    Allora, ho fatto come hai detto e si presenta il seguente errore

    
    Parse error: syntax error, unexpected '<' in c:\appserv\www\nuke\gioco\controllogiocatore.php on line 36
    
    

    Il sorgente html è questo

    
    <br />
    <b>Parse error</b>:  syntax error, unexpected '<' in <b>c:\appserv\www\nuke\gioco\controllogiocatore.php</b> on line <b>36</b><br />
    
    

    Il path funziona...

    Saluti e Grazie.


  • User Attivo

    Ho sbagliato io, rimetti come prima e dimmi com'è il sorgente!


  • User Attivo

    @margheritebianche said:

    Ho sbagliato io, rimetti come prima e dimmi com'è il sorgente!
    Infatti mi sembrava una cosa alquanto strana 😄

    
    <form method="post" action="c:/appserv/www/nuke/gioco/nuovoutente.php">
    <br>
    <img src="c:/appserv/www/nuke/gioco/immagini/personaggi/guerriero.jpg" height="120" width="80" >
    <input type="radio" name="guerriero" value="guerriero">Guerriero
    <img src="c:/appserv/www/nuke/gioco/immagini/personaggi/diavolo.gif" height="120" width="80" >
    <input type="radio" name="guerriero" value="diavolo">Diavolo
    <br>
    <input type="SUBMIT" nome="invia" value="invia" >
    
    </form>
    
    

    Tutto è ok :S

    Grazie, Saluti.


  • User Attivo

    A questo punto posta c:/appserv/www/nuke/gioco/nuovoutente.php


  • User Attivo

    @margheritebianche said:

    A questo punto posta c:/appserv/www/nuke/gioco/nuovoutente.php
    [php]
    $personaggio = $_POST['guerriero'];
    print $personaggio;
    $path = $_SERVER['DOCUMENT_ROOT']."/nuke/gioco/";
    include("riconoscoutente.php");
    $dbhost = "localhost";
    $dbuser = "root";
    $dbpass = "";
    $dbname = "nuke";
    $db = mysql_connect($dbhost, $dbuser, $dbpass);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.php");
    mysql_select_db($dbname, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.php");
    $sql = ("UPDATE nuke_users SET gioco='1' WHERE utente='$username'")or die (mysql_error());;
    $query = @mysql_query ($sql, $db) or die(mysql_error());
    mysql_close();

    include($path."conneti.php");
    $sql = "INSERT INTO utenti (utente, nome, forza, vita, altezza, corporatura, inteliggenza, armi, abilita, soldi) VALUES ('$username', '$nome[1]','$forza[1]','$vita[1]','$altezza[1]','$corporatura[1]','$inteligenza[1]','$armi[1]','$abilita[1]','$soldi[1]')" or die (mysql_error());;
    $query = @mysql_query ($sql, $db) or die(mysql_error());
    [/php]

    Ma non vedo niente di incorretto..
    Grazie, Saluti.


  • User Attivo

    Ho provato anch'io. Anche a me sembra tutto giusto e a me qui funziona.
    Semplificando io ho due file aaa.html così:

    
    <form method="post" action="nuovoutente.php">
    <input type="radio" name="guerriero" value="guerriero">Guerriero
    <input type="radio" name="guerriero" value="diavolo">Diavolo
    <input type="SUBMIT" nome="invia" value="invia" >
    </form>
    
    

    E nuovoutente.php così:

    
    <?php
    $personaggio = $_POST['guerriero'];
    print $personaggio;
    ?>
    
    

    Se vuoi riprovare con questi due codici.
    In nuovoutente.php hai messo <?php all'inizio?


  • User Attivo

    Ciao e grazie per il vostro interessamento,
    Allora sono identici i due form, cmq posto i due codici completi forse si capisce meglio.
    [php]include("riconoscoutente.php");
    $dbhost = "localhost";
    $dbuser = "root";
    $dbpass = "";
    $dbname = "nuke";
    $db = mysql_connect($dbhost, $dbuser, $dbpass);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.php");
    mysql_select_db($dbname, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.php");
    $result = mysql_query("SELECT * FROM nuke_users WHERE username='$username'")or die (mysql_error());
    while ($row = mysql_fetch_array($result)){
    $gioco = $row['gioco'];
    }
    if($gioco == 1){
    ?>
    ?><script language="JavaScript">
    <!--Script
    var time = null
    function move() {
    window.location = 'index.php'
    }
    //-->
    </script>
    <body onload="timer=setTimeout('move()',1000)">
    <font color="#FF0000"> Entro pochi istanti sarai nel gioco...</font>
    <?PHP
    }
    else if($gioco == 0) {
    include($path."funzioni.php");
    echo " Ciao $username, questa è la procedura per registrare il tuo
    personaggio. ";
    echo "
    <form method="post" action="".$path."nuovoutente.php">
    <br>
    <img src="".$path."immagini/personaggi/".$immagine[1]."" height="120" width="80" >
    <input type="radio" name="guerriero" value="guerriero">$nome[1]
    <img src="".$path."immagini/personaggi/".$immagine[2]."" height="120" width="80" >
    <input type="radio" name="guerriero" value="diavolo">$nome[2]
    <br>
    <input type="SUBMIT" nome="invia" value="invia" >

    </form>";
    }
    [/php]
    [php]
    $personaggio = $_POST['guerriero'];
    print $personaggio;
    $path = $_SERVER['DOCUMENT_ROOT']."/nuke/gioco/";
    include("riconoscoutente.php");
    $dbhost = "localhost";
    $dbuser = "root";
    $dbpass = "";
    $dbname = "nuke";
    $db = mysql_connect($dbhost, $dbuser, $dbpass);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.php");
    mysql_select_db($dbname, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.php");
    $sql = ("UPDATE nuke_users SET gioco='1' WHERE utente='$username'")or die (mysql_error());;
    $query = @mysql_query ($sql, $db) or die(mysql_error());
    mysql_close();

    if($_POST['1'] == $nome[1]){
    include($path."conneti.php");
    $sql = "INSERT INTO utenti (utente, nome, forza, vita, altezza, corporatura, inteliggenza, armi, abilita, soldi) VALUES ('$username', '$nome[1]','$forza[1]','$vita[1]','$altezza[1]','$corporatura[1]','$inteligenza[1]','$armi[1]','$abilita[1]','$soldi[1]')" or die (mysql_error());;
    $query = @mysql_query ($sql, $db) or die(mysql_error());
    }
    [/php]
    Non mi sembra che ci sia qualcosa di incorretto :S Eppure non si decide a stamparmi la scelta cazz :S

    Grazie, Saluti.


  • User

    Ciao,

    io ho provato il tuo codice togliendo ovviamente le connessioni al db.

    in particolare ho prova la prima pagina (quella del form) così:

    [php]
    <?
    echo " Ciao $username, questa è la procedura per registrare il tuo
    personaggio. ";
    echo "
    <form method="post" action="prova2.php">
    <br>
    <img src="".$path."immagini/personaggi/".$immagine[1]."" height="120" width="80" >
    <input type="radio" name="guerriero" value="guerriero">$nome[1]
    <img src="".$path."immagini/personaggi/".$immagine[2]."" height="120" width="80" >
    <input type="radio" name="guerriero" value="diavolo">$nome[2]
    <br>
    <input type="SUBMIT" nome="invia" value="invia" >

    </form>";
    ?>
    [/php]

    e la seconda (quella di risposta) così:

    [php]
    <?
    $personaggio = $_POST['guerriero'];
    print $personaggio;
    ?>
    [/php]

    in particolare che errori ti dà?


  • User Attivo

    Ciao e grazie per l'interessamento,
    Niente il forum in php mi sà che nn vuole andare..
    Ho messo il forum fuori dal codice php e tutto funziona..

    Cmq è una cosa molto strana.. bahh.
    Lo tengo in html và, grazie a tutti. Saluti.