Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    138

    il form php mi invia dati anche se non clicco su submit! [noob inside]

    salve ho un piccolo problema in quanto è la prima volta che mi affaccio nel mondo del php. Ho fatto questa piccolissima pagina "prova1.php" che deve invertire una stringa passata mediante un form e fare altre cose blablabla solo che per prima cosa deve controllare se la stringa passata è vuota. Il problema è che come io apro la pagina internet mi stampa "stringa vuota" anche se non ho cliccato su "invia". Come posso risolvere?

    codice:
    <html>
    <head>
    <title>Documento senza titolo</title>
    </head>
    <body>
    
    <form  method="post" target="_self">
          <input name="numero" type="text" style="margin-left:10px" size="9" maxlength="9" />
     
    	 <input type="submit" style="margin-left:10px" value="prova1.php" submname="Invia">
    
    </form>
    
    <?
    //		**  MAIN  **
    $targa=$_POST[numero];
    if(empty($targa)){
    	print "stringa vuota";	
    }else{
    	$size=strlen($targa);				//size= lunghezza della targa
    	$targa=strrev($targa);				//inverte la stringa
    	$ME= chunk_split($targa, 1,"_");	//separa tutti i caratteri
    	$array=explode("_",$ME);			//inserisce ogni carattere nell'array
    	$b=FALSE;
    	$i=0;
    	
    	while($i<=$size AND $b==FALSE){
    		if(is_numeric($array[$i])){
    		$cifra=$array[$i];  
    		//print "sono dentro l'if e cifra è ".$cifra.'
    ';
    		$b=TRUE;
    		}
    		$i++;
    	}
    
    }
    ?>
    </body>
    </html>

    come posso fare? grazie

  2. #2
    Per prima cosa evita l'utilizzo dello short_open_tag (<?), al suo posto utilizza il tag di apertura completo (<?php).

    Poi abilita la visualizzazione completa degli errori inserendo il seguente codice all'inizio dello script:
    Codice PHP:
    error_reporting(E_ALL);
    ini_set('display_errors'1); 
    Una volta fatto ciò, risolvi tutti i notice e warning che vengono visualizzati.

  3. #3
    Ti restituisce subito "stringa vuota" perchè quando carichi la pagina la prima volta la variabile $_POST['numero'] non è stata inizializzata e di conseguenza $targa è vuoto.
    Io assegnerei tutte le operazioni ad un funzione e poi la selezionerei con uno switch:
    Codice PHP:
    function calcola_targa($targa) {
    ...
    };
    switch (
    $_POST['numero']) {
    case 
    null: echo 'prima visualizzazione della pagina';
    break;
    default: 
    calcola_targa($_POST['numero']);
    break; 

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    138
    grazie!!!

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.