Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 10-11-2003, 22.34.37   #1
a_nello
Newbie
 
Registrato: 10-11-2003
Messaggi: 8
a_nello promette bene
sto sclerando da una settimana

ciao a tutti.
ho un problema che non riesco a risolvere da una settimana
ho installato apache 2.0.47 php 4.3.2 e phpmyadmin 2.5.1
ho un database vedi sotto:
cognome nome numero_personale stipendio data_di_nascita
Rossi Mario 6714 3500.00 1962-03-15
Colombo Anna 2297 3621.00 1959-12-30
Brambilla Giuseppe 81343 3750.00 1958-04-12
ed ho cresto uno script del genere:

<html>
<body>
<?php
$db=mysql_connect();
$sqlinterr="select cognome,stipendio";
$sqlinterr.="from persone where";

if($stip==1)
$sqlinterr.="stipendio<=3000,00";
else if($stip==2)
$sqlinterr.="stipendio >3000,00 and stipendio<=3500,00";
else if($stip==3)
$sqlinterr.="stipendio>3500,00 and stipendio<=5000,00";
else
$sqlinterr.="stipendio >5000,00";

$res=mysql_db_query("azienda",$sqlinterr);
$num=mysql_num_rows($res);
if($num==0)
echo"nessun record trovato";

for ($i=0;$i<$num;$i++)
{
$cg=mysql_result($res,$i,"cognome");
$st=mysql_result($res,$i,"stipendio");
echo"$cg,$st<br>";
}
mysql_close($db);
?>
</body>
</html>

FORM HTML:

<html>
<body>
Elenco delle persone con stipendio:
<form action="uf10.php" method="post">

<input type="radio" name="stip" value="1" checked>
fino a 3000,00 compreso<p>
<input type="radio" name="stip" value="2">
da 3000,00 a 3500,00 compreso<p>
<input type="radio" name"stip" value="3">
da 3500,00 a 5000,00 compreso<p>
<input type="radio" name="stip" value="4">
oltre 5000,00<p>

<input type="submit">
<input type="reset">
</form>
</body>
</html>

lo ho copiato da un libro (PROGRAMMARE CON PHP4)
quando vado per testarlo mi da questo errore :

Notice: Undefined variable: stip in C:\Programmi\Apache Group\Apache2\htdocs\uf\uf10.php on line 8

Notice: Undefined variable: stip in C:\Programmi\Apache Group\Apache2\htdocs\uf\uf10.php on line 10

Notice: Undefined variable: stip in C:\Programmi\Apache Group\Apache2\htdocs\uf\uf10.php on line 12

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Programmi\Apache Group\Apache2\htdocs\uf\uf10.php on line 18
nessun record trovato

non ci capisco piu niente aiutatemi.
___________________________________

nello c'è
a_nello non è collegato   Rispondi citando
Vecchio 12-11-2003, 09.29.28   #2
quipo.it
WT Assistant
 
L'avatar di quipo.it
 
Registrato: 19-12-2000
Loc.: Cambiano (Torino)
Messaggi: 591
quipo.it promette bene
beh, intanto dopo la chiamata a mysql_connect() [con i vari parametri], devi selezionare il db con mysql_select_db().

I NOTICEs che vedi sono causati da un settaggio di php.ini, nello specifico "register_globals" che dalla v. 4.1 di PHP è stato messo su "off". Per far funzionare il tuo script, non puoi chiamare direttamente la variabile $stip, perché non è stata definita nella pagina. Quel che cerchi è "$_POST['stip']", e puoi inserire una cosa del genere all'inizio della pagina:
[php]
$stip = (int)$_POST['stip'];
[/php]

Poi stai sbagliando a concatenare le stringhe:
$sqlinterr="select cognome,stipendio";
$sqlinterr.="from persone where";
$sqlinterr.="stipendio<=3000,00";

ti viene fuori una cosa del genere:
"select cognome,stipendiofrom persone wherestipendio<=3000,00"
devi mettere uno spazio all'inizio della stringa, così:
$sqlinterr='select cognome,stipendio';
$sqlinterr.=' from persone where';
$sqlinterr.=' stipendio<=3000,00';

Un'altra cosa: la funzione "mysql_db_query" è stata sconsigliata a partire dal PHP 4.0.6. Non usare questa funzione. Usa invece mysql_select_db() e mysql_query().

HTH
___________________________________

There are 10 kinds of people in this world,
those who can read binary and those who can't.

Care to say "thank you"?
quipo.it non è collegato   Rispondi citando
Vecchio 12-11-2003, 11.51.31   #3
a_nello
Newbie
 
Registrato: 10-11-2003
Messaggi: 8
a_nello promette bene
grazie adesso faccio un paio di prove e ti faro sepere.
___________________________________

nello c'è
a_nello non è collegato   Rispondi citando
Vecchio 12-11-2003, 19.01.26   #4
a_nello
Newbie
 
Registrato: 10-11-2003
Messaggi: 8
a_nello promette bene
inserendo il codice $stip = (int)$_POST['stip']; e facendo qualche altri ritocchini di sintassi sembra andare bene.
Mi sembra strano che sul libro che sto seguendo non ci siano scritte queste cose, infatti lo script che ti ho proposto è stato copiato dal libro come ti dicevo(PROGRAMMARE con PHP4 dell'Apogeo)
Mha....!!!
inoltre potresti spiegarmi quel pezzettino di codice che mi hai scritto e perche si inserisce (int).
Te ne sarei molto grato, ci sentiamo, a molto presto e grazie mille
___________________________________

nello c'è
a_nello non è collegato   Rispondi citando
Vecchio 12-11-2003, 19.22.28   #5
quipo.it
WT Assistant
 
L'avatar di quipo.it
 
Registrato: 19-12-2000
Loc.: Cambiano (Torino)
Messaggi: 591
quipo.it promette bene
Se vuoi imparare il PHP, il tuo miglior amico è il manuale. Vai a questa pagina: http://www.php.net/download-docs.php e scaricati il formato che preferisci.

Dal PHP 4.1 sono stati introdotti gli array "superglobali", che sono $_POST, $_GET, $_SESSION, $_SERVER, più altre che trovi qui:
http://www.php.net/manual/it/languag...predefined.php

Sono stati introdotti principalmente per aumentare la sicurezza, e per controllare lo scope delle variabili. Prima esistevano degli array simili, $HTTP_*_VARS.

Quando tu cerchi di accedere alla variabile $stip creata dal form della pagina precedente, devi stare attento a come viene creata: nel tag <form> c'è l'attributo action="post", quindi la tua variabile verrà memorizzata nell'array $_POST.

Ho inserito (int) per forzare il casting ad un intero (è buona regola non fidarsi mai degli input esterni, e controllare sempre i tipi di dato in ingresso). Non è strettamente necessario, ma è una buona pratica di sicurezza.

Il fatto che lo script che hai trovato sul libro non funziona dipende da questo cambiamento nel linguaggio, ora il settaggio "register_globals" è su "off" di default, altrimenti il tuo script sarebbe stato eseguito correttamente (a parte gli altri errori degli spazi mancanti).

Un'altra cosa... per definizione, ogni libro che viene stampato e che parla di un linguaggio, se tale linguaggio è ancora sotto attivo sviluppo, allora il libro è già vecchio prima di venire messo in vetrina
___________________________________

There are 10 kinds of people in this world,
those who can read binary and those who can't.

Care to say "thank you"?
quipo.it non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
batch che calcola il giorno della settimana xmatrix83 Programmazione 11 28-11-2010 10.59.48
100 sms gratis a settimana gianlo86 Multimedia | audio - video 5 08-05-2007 10.24.49
programma batch e variabile per i giorni della settimana xmatrix83 Programmazione 0 03-08-2006 12.34.12
L'angolo della settimana enigmistica infinitopiuuno Chiacchiere in libertà 13 02-01-2005 12.36.26
Quarta settimana... resoconto del body building X-5 Chiacchiere in libertà 10 29-02-2004 14.04.28

Orario GMT +2. Ora sono le: 10.51.52.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.