Visualizzazione risultati 1 fino 7 di 7

Discussione: Codice php non funzionante

  1. #1
    Guest

    Predefinito Codice php non funzionante

    Ciao,
    originariamente avevo fatto uno script con javascript che da una stringa di tipo "gatto,cane,gallo," restituiva :
    gatto
    cane
    gallo

    Ora la ho "convertita" in php e, dopo aver corretto alcuni errori di sintassi, il browser la legge ma da' come output il nulla :D

    Da quì si prendono i dati che costituiscono la stringa da valutare:

    Codice PHP:
    <?php

    //Apro la sessione e...
    session_start();

    //Recupero i dati...
    $username = $_SESSION['username'];
    $password = $_SESSION['password'];

    //CONTROLLO SESSIONE
    if($username==""){
    header("location:main_login.php");}
    //FINE CONTROLLO SESSIONE


    $link = mysql_connect ("localhost", "fedescript", "")
    or die (
    "Non riesco a connettermi");
    $db_name="my_fedescript"; // Database name
    mysql_select_db("$db_name")or die("cannot select DB");

    /*$user = isset($_
    GET['user']) ? mysql_real_escape_string($user) : false;*/


    // retrieve password from table where e-mail = $email_to(mark@phpeasystep.com)
    $sql="SELECT love FROM members WHERE username='$username' and password='$password'";
    $result=mysql_query($sql);

    // if found this e-mail address, row must be 1 row
    // keep value in variable name "$count"
    $count=mysql_num_rows($result);

    // compare if $count =1 row
    if($count==1){

    $rows=mysql_fetch_array($result);

    // keep password in $your_password
    $your_contenuto=$rows['love'];
    }

    echo
    "<head><script type='text/javascript' src='pref_1.js'></script></head><body>";
    echo
    $your_contenuto;
    echo
    "<form name='dati' method='post' action='preferenze.php'><input type='text' name='pref' id='pref' value='".$your_contenuto."' disabled='true'>";
    echo
    "<input type='submit' value='Vedi' name='Submit'></form></body>";

    mysql_close($link);
    ?>
    Successivamente mando i dati a preferenze.php che ha questo codice:
    Codice PHP:
    <?
    session_start
    ();
    if(!
    session_is_registered(myusername)){
    header("location:main_login.php");
    }
    ?>


    <?php

    //Apro la sessione e...
    session_start();

    //Recupero i dati...
    $username = $_SESSION['username'];
    $password = $_SESSION['password'];
    $testo = $_POST['pref'];
    echo
    $testo;
    $lunghezza = strlen($testo);
    $lung = $lunghezza - 1;

    $b = 0;//valore che aumenta ad ogni parola parole[b]
    $c = true; //se true vuol dire che è la prima lettera della parola, altrimenti è falso

    for($a=0;$a<$lunghezza;$a++){
    if(
    $testo{a}==","){//se c'è la virgola, quindi la parola è finita
    $parole[] =parola;//salvo la parola nell'array
    $b++;//aumento l'indice b
    $c = true;
    //dico che la prossima sarà l'inizio della parola
    $parola="";
    }
    else{
    //se non è una virgola
    if($c==true){$parola=$testo{a};//se è l'inizio la parola inizia con quella lettera
    $c = false;}//la prossima non sarà più l'inizio della parola
    else{
    $parola=$parola+$testo{a};//aggiunge le lettere alla variabile temporanea parola
    $c = false;
    }

    }

    }
    $lungh_array= count($parole);
    for(
    $d=0;$d<$lungh_array;$d++){
    echo
    'parole[$d]';
    echo
    "<br/>";
    }

    ?>
    potreste aiutarmi per favore?

  2. #2
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    l'errore è qui:
    Codice PHP:
    //correggi:
    $parole[] =parola;//salvo la parola nell'array

    //in:
    $parole[] = $parola;//salvo la parola nell'array
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  3. #3
    Guest

    Predefinito

    Continua a non funzionare...

  4. #4
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    prima del ciclo for inserisci:
    Codice PHP:
    //inserisci:
    $parole = array();

    for(
    $a=0;$a<$lunghezza;$a++){
    if(
    $testo{a}==","){//se c'è la virgola, quindi la parola è finita
    $parole[] = $parola;//salvo la parola nell'array
    $b++;//aumento l'indice b
    $c = t
    prova a stampare il valore della variabile $testo{a} nel ciclo for , di solito uso substr()

    poi correggi:
    Codice PHP:
    for($d=0;$d<$lungh_array;$d++){
    //correggi:
    echo 'parole[$d]';
    //in:
    echo '$parole[$d]';
    echo
    "<br/>";
    }
    Ultima modifica di EuroSalute : 20-10-2010 alle ore 15.08.29 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  5. #5
    Guest

    Predefinito

    Sto riscrivendo il codice da capo.
    E' impossibile fare il debug dell'altro...

    Il codice è il seguente:
    Codice PHP:
    <?
    session_start
    ();
    if(!
    session_is_registered(myusername)){
    header("location:main_login.php");
    }
    ?>
    <?php
    //Apro la sessione e...
    session_start();

    //Recupero i dati...
    $username = $_SESSION['username'];
    $password = $_SESSION['password'];

    //CONTROLLO SESSIONE
    if($username==""){
    header("location:main_login.php");}
    //FINE CONTROLLO SESSIONE


    $link = mysql_connect ("localhost", "fedescript", "")
    or die (
    "Non riesco a connettermi");
    $db_name="my_fedescript"; // Database name
    mysql_select_db("$db_name")or die("cannot select DB");


    //cerco le preferenze
    $sql="SELECT love FROM members WHERE username='$username' and password='$password'";
    $result=mysql_query($sql);

    //se ci sono la riga deve essere una sola
    $count=mysql_num_rows($result);

    // le righe sono 1?
    if($count==1){

    $rows=mysql_fetch_array($result);

    //contiene le preferenze
    $your_contenuto=$rows['love'];

    $lunghezza = strlen($your_contenuto);
    $lung = $lunghezza -1;


    $b = 0;//valore che aumenta ad ogni parola parole[b]
    $c = 'nuovaparola'; //se true vuol dire che è la prima lettera della parola, altrimenti è falso


    for($a=0;$a<$lunghezza;$a++){

    $position = $a;
    $char = $contenuto{$position}; // where $position is the position of the character you are looking for

    $contenuto=$your_contenuto;
    $lettere[$a]=$contenuto{'$a'};
    echo
    $lettere[$a];
    echo
    $a;

    }

    }





    ?>
    Solo che come output dà:
    g0g1g2g3g4g5g6g7g8g9g10g11g12g13g14g15g16g17g18g19 g20g21g22g23g24g25g26g27

    La stringa da valutare è:
    gatti,cani,uccelli,serpenti,

    DOvrebbe dare come output questo:
    g0a1t2t3i4,5c6a7n8i9,10u11c12c13e14l15l16i17,18s19 e20r21p22e23n24t25i25,26

    Dove sbaglio?

  6. #6
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    prova così:

    Codice PHP:
    for($a=0;$a<$lunghezza;$a++){

    //$position = $a;
    //$char = $contenuto{$position}; // where $position is the position of the character //you are looking for

    $carattere = substr($your_contenuto, $a, 1);

    //$contenuto=$your_contenuto;
    //$lettere[$a]=$contenuto{'$a'};

    echo $carattere;
    echo
    $a;

    }
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  7. #7
    Guest

    Predefinito

    Funziona!
    Grazie mille :D
    Ultima modifica di fedescript : 20-10-2010 alle ore 20.00.17

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •