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

    [PHP] Problema con codice php

    Salve a tutti,

    mi serve un piccolo aiuto su un problema che ho incontrato creando uno script in php.
    Vi spiego in poche parole qualk'č il mio problema

    Ho un form per la creazione di un certificato dove uno di questi campi č un numero di serie... fin adeso questo numero veniva creato in modo casuale grazie all'aiuto di questo script:

    codice PHP:

    Codice PHP:
    elseif ($annoimm == 1964) { 
    $serie rand(3300034000); 

    elseif (
    $annoimm == 1968) { 
    $serie rand(3700038000); 

    etc.. etc.

    adesso ho inserito nel form anche un campo per la creazione non casuale del numero ma che si conosce giā e che viene quindi inserito a mano.

    Il problema adesso e che lo script deve verificare se č stato inserito o meno un valore nel campo "Serie" se il numero č stato inserito va bene altrimenti deve generare un numero casuale, e nello stesso tempo deve controllare se quel numero non č stato gia creato in precedenza con una query sql sul database.

    questo č il codice che avevo fatto:

    File general.php
    Codice PHP:
    codice PHP:
    include(
    'tools.php'); 
    $serie1$_POST ["serie"]; 
    $annoimm$_POST ["annoimm"]; 

    random_number(); 
    echo 
    "Il numero generato o da lei selezionato č $serie"
    File tools.php
    Codice PHP:
    codice PHP:
    function 
    random_number() { 
    global 
    $annoimm$serie1

    if (
    $serie1 0) { 
    $serie $serie1

    elseif (
    $annoimm == 1964) { 
    $serie rand(3300034000); 

    elseif (
    $annoimm == 1968) { 
    $serie rand(3700038000); 

    mysql_connect($host,$user,$password) or die ("CONNESSIONE AL DATABASE FALLITA!"); 
    mysql_select_db("********") or die ("SELEZIONE DATABASE FALLITA"); 

    $query mysql_query("SELECT * FROM serie WHERE numero = '$serie'")or die ("ERRORE 1"); 

    if( 
    mysql_num_rows($query) > 

    random_number(); 

    else 

    return 
    $serie



    Il Problema e che non va!! Cos'ho sbagliato??
    Aiutatemi per favore!!
    Aiutooooooooooooooooooooooooooo

  2. #2
    la connessione al db la effettui all'interno di una funzione e quindi i dati di accesso che presumo siano nell'include non passano alla funzione stessa..
    prova ad inserire i dati di accesso al db all'interno della funzione...
    Soluzioni Hosting
    http://www.crabservice.com

  3. #3
    non č quello il problema ... qui sul forum ho scritto le parti essenziali dello script..tralasciando le parti scontate come le connessioni al database.. il problema sembra essere la variabile $serie ke nn viene letta dopo essere stata creata all'interno della funziona random_number

  4. #4
    hai usato apposta
    $seriel e $serie sono 2 var diverse e devono esserlo?
    Soluzioni Hosting
    http://www.crabservice.com

  5. #5
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Cmq sonoria ha ragione.

    Codice PHP:
    mysql_connect($host,$user,$password) or die ("CONNESSIONE AL DATABASE FALLITA!"
    In questa parte di codice le 3 variabili $host, $user, $password non sono settate (essendo interne alla funzione). Ma se dici che il codice lo hai "ripulito" per postarlo allora mi fido

    In ogni caso non capisco questo controllo:

    Codice PHP:
    if ($serie1 0) {
    $serie $serie1;
    }
    elseif (
    $annoimm == 1964) {
    $serie rand(3300034000);
    }
    elseif (
    $annoimm == 1968) {
    $serie rand(3700038000);

    concettualmente se $serie1 č maggiore di 0 e $annoimm č uguale a 1964 quell'if salta in toto.
    Sei sicuro/a che sia giusto?

  6. #6
    per completezza per la generazione dei numeri casuali utilizza
    srand((double)microtime()*1000000);
    Soluzioni Hosting
    http://www.crabservice.com

  7. #7
    l'ho usato appositivamente xke $serie1 č il numero che viene inserito a mano.. e che poi deve random_number verifica se č maggiore di 0 ... se risulta minore... deve creare il numero random

  8. #8
    se $serie1 č maggiore di 0, la funzione random deve finire lā!! e quindi $serie che deve essere visualizzata nel file genral.php sarā uguale a $serie1

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.