Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: registrazione fallita

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    90

    registrazione fallita

    A tutti, sto programmando un gioco che mi ha ordinato un cliente e fin qui tutto bene, il vero problema è che non riesco a fare una registrazione e cioè, dopo che ho stabilito il totale, e dopo che gli ho detto che se il totale sbagliato deve darmi una scritta, questa che esce ancora prima che io possa fare qualsiasi azione e di conseguenza a Dio tutto quanto

    Codice PHP:
    $punti_base 6;
    $ris $punti_base $bonus;
    $tot $ris 4;
    echo 
    "QUESTI SONO I PUNTI ABILITÀ CHE PUOI SPENDERE IN TOTALE ".$tot;
    $creatore $_SESSION['nick'];
    $login $_POST['login'];
    $AppPol $_POST['AppPol'];
    $schivare $_POST['schivare'];
    $bianca $_POST['bianca'];
    $impropria $_POST['impropria'];
    $contundente $_POST['contundente'];
    $leggere $_POST['leggere'];
    $medie $_POST['medie'];
    $pesanti $_POST['pesanti'];
    $comando $_POST['comando'];
    $artigianaliesp $_POST['artigianaliesp'];
    $industrialiesp $_POST['industrialiesp'];
    $packsur $_POST['packsur'];
    $orientali $_POST['orientali'];
    $occidentale $_POST['occidentale'];
    $percezione $_POST['percezione'];
    $intimidazione $_POST['intimidazione'];
    $artigianato $_POST['artigianato'];
    $equilibrio $_POST['equilibrio'];
    $nuotare $_POST['nuotare'];
    $trapart $_POST['trapart'];
    $abtot $_POST['schivare'] + $_POST['bianca'] + $_POST['impropria'] + $_POST['contundente'] + $_POST['leggere'] + $_POST['medie'] + $_POST['pesanti']
              + 
    $_POST['comando'] + $_POST['artigianaliesp'] + $_POST['industrialiesp'] + $_POST['packsur'] + $_POST['orientali'] + $_POST['occidentale'] +
              
    $_POST['percezione'] + $_POST['intimidazione'] + $_POST['artigianato'] + $_POST['equilibrio'] + $_POST['nuotare'] + $_POST['trapart'];
              
              if(!
    $abtot == $tot) {
                  echo 
    "ma perché c'è questo errore?";
              }
              else{
                  require_once(
    "regABcombattente.php");
                    
    $obj = new Register();
            
    $obj->abilita($_POST['creatore'], $_POST['login'], $_POST['AppPol'], $_POST['schivare'], $_POST['bianca'], $_POST['impropria'], 
                          
    $_POST['contundente'], $_POST['leggere'], $_POST['medie'], $_POST['pesanti'], $_POST['comando'],
                          
    $_POST['artigianaliesp'], $_POST['industrialiesp'], $_POST['packsur'], $_POST['orientali'],
                          
    $_POST['occidentale'], $_POST['percezione'], $_POST['intimidazione'], $_POST['artigianato'],
                          
    $_POST['equilibrio'], $_POST['nuotare'], $_POST['trapart']);
              }

            

             
    ?>


    <div id="BloccoSinistraAB">Schivare

    Arma Bianca</p>

     Arma Non Convenzionale </p>

     Arma Contundente </p>

     Armi da Fuoco Leggere </p>

     Armi da 
                               Fuoco Medie </p>

    Armi da Fuoco Pesanti</p>

     Comando </p>

     Esplosivi Artigianali </p>

     Esplosivi Industriali </p>


                               Urban Survivor</p>

     Lotta Occidentale </p>

     Lotta Orientale </p>

     Percezione </p>

      Equilibrio </p> 


                               Intimidazione </p>

     Nuotare </p>

     Artigianato </p></div>
                             </select>

    form......
                            </div> 
    ora, secondo il problema avviene durante l'if, perché infatti mi esce sempre la scritta ma perché c'è questo problema? Ora, la domanda è: veramente perché c'è questo problema perché mi dà questo errore ancora prima di iniziare tutto quanto?

    Ringrazio fin d'ora chiunque vorrà aiutarmi
    Seo Master alle prime keywords!

  2. #2
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    ciao ma fammi capire

    tu confronti
    codice:
     if(!$abtot == $tot)
    dove $tot è un intero e $abtot è una stringa?

    vedo che in $abtot sommi dei valori in $_POST[] ,ma questi sono tutti interi o stringhe?


    secondo me dovresti creare un array associativo di $abtot

    tipo
    codice:
    $abtot= array('valore1'=>$_POST['valore1'],'valore2'=>......etc etc);
    poi puoi confrontare il count($abtot); con $tot cosi hai a confronto due interi

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    90
    in pratica, tutti e due i valori, corrispondono a numeri che vanno da 0 a 5 per quanto riguarda tutti gli $_POST quindi in realtà il totale di "$abtot" è un intero, invece $tot è il totale che si può spendere all'interno di $abtot...

    Se vuoi posso inserire anche tutto il form, ma è bello lungo...
    Seo Master alle prime keywords!

  4. #4
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    prova scrivendo

    codice:
    if($abtot != $tot)
    al posto di

    codice:
    if(!$abtot == $tot)
    il resto sembra ok, sicuramente il problema è sulla guardia if() quindi

    questo solo se sei sicuro che tutti i dati che stai trattando sono interi

    magari fai un bel var_dump() di tutto e vedi se qualcosa non torna

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    90
    Anche secondo me il problema è all'interno di quell'if, ma cambiando in quel modo non succede nulla...

    Codice PHP:
    <?php
    require_once ("../class_connect_db.php");


    class 
    Register {
        
        
        public function 
    abcomb($creatore$login$AppPol$schivare$bianca$impropria$contundente$leggere$medie$pesanti$comando$artigianaliesp$industrialiesp$packsur$orientali$occidentale$percezione$intimidazione$artigianato$equilibrio$nuotare$trapart) {
            
            
    //
            
            
    $sql =  "SELECT creatore, AppPol FROM personaggi where creatore ='".$creatore."' AND AppPol ='".$AppPol."'";
            
    $result mysql_query($sql);
            
            if(
    mysql_num_rows($result) > 0) { 
                
            
              
    $sql "INSERT INTO abilita (creatore, login, AppPol, schivare, bianca, impropria, contundente, leggere, media, pesanti, comando, artigianaliesp, industrialiesp, packsur, orientali, occidentale, percezione, intimidazione, artigianato, equilibrio, nuotare, trapart) VALUES
            ('"
    .$creatore."', '".$login."', '".$AppPol."','".$schivare."', '".$bianca."', '".$impropria."','".$contundente."','".$leggere."','".$medie."',
            '"
    .$pesanti."','".$comando."','".$artigianaliesp."', '".$industrialiesp."', '".$packsur."', '".orientali."', '".occidentale."', '".percezione."',
            '"
    .intimidazione."', '".artigianato."', '".equilibrio."', '".nuotare."', '".trapart."')";
            
            
    $a mysql_query($sql);
            
            }
            
            else {
                echo 
    "mi dispiace, ma c'è qualcosa che non funziona";
                
    header("Location: [url]http://frozen-world.org/index2.php[/url]");
                exit();
            

                }
        }

    }

    ?>
    Questa è la pagina che dovrebbe popolare la tabella, ma secondo me i dati non gli arrivano, in più, sia nella tabella un dato non si trova esattamente nella posizione con cui ho fatto tutto questo insert è un problema? Ad esempio il dato creatore è l'ultimo della tabella
    Seo Master alle prime keywords!

  6. #6
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    ciao non è che non voglio aiutarti,il fatto è che ,il codice sembra giusto quindi probabilmente stai dimenticando una "bischerata"

    se fai var_dump() di tutti i dati e echo $sql

    piano piano lo trovi da solo l'errore

    non mi sembra un problema strutturale

    sono ocnvinto che se farai come ti ho detto risolverai da solo

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    90
    Non ho mai messo in dubbio la tua buona volontà anzi, ti ringrazio molto per avermi aiutato, pensavo ci fosse in realtà qualche grosso problema strutturale oppure qualche dimenticanza idiota tipo il mio classico ; che ogni tanto mi capita di dimenticare
    Seo Master alle prime keywords!

  8. #8
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    ah ora che guardo meglio vedo che tu richiami questo

    codice:
    $obj->abilita()
    ma poi nella classe register mi fai vedere:

    codice:
    public function abcomb()
    non è che hai sbagliayto il nome del metodo?

    in oltre in quel metodo devono entrare :

    variabili non globali($creatore, $login, $AppPol, $schivare, $bianca, $impropria, $contundente, etc etc....)

    vedo che tu invece mandi a quel metodo delle variabili $_POST[]

    sto interpretando male io forse

  9. #9
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    se vuoi mandare $creatore a quel metodo devi fare:

    $creatore= $_POST['creatore'];

    $obj->abcom($creatore,e cosi via per tutti i parametri che devi passare)


  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    90
    Dopo aver risolto questi problemi, mi rimane quello del controllo, tramite un bellissimo var_dump($abtot), come mi hai consigliato, ho potuto notare che questa variabile risulta esattamente 0, ora questo accade prima che io possa sistemare tutti i punteggi all'interno del form, ma posso fare a far sì che questo controllo venga attivato esclusivamente all'invio dei dati e non prima?
    Seo Master alle prime keywords!

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.