Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030

    Problema guida connessione a db e form POST

    E facciamo anche 'sta figuraccia..

    dunque: primi passi col php..
    nel tentativo di interagire con un db mysql mi sono installato la versione 1.8.0.1 di EasyPhp e ho iniziato a seguire questa guida
    http://freephp.html.it/guide/lezione.asp?id=153
    per vedere se ci capivo qualcosa..
    seguendo passo-passo le lezioni ho creato la tabella, ma quando cerco di popolare il db qualcosa funziona..

    c'è un insert.php che dovrebbe permettermi di popolare il db che inizia con
    Codice PHP:
    <form method=post action=save.php
    e contiene un campo password
    Codice PHP:
    Password: <input type=password size=40 name=pass
    poi c'è appunto una pagina save.php
    che inizia con
    Codice PHP:
    include("config.inc.php");
    if (
    $pass != $password):
    echo 
    "Password errata";
    elseif (
    trim($titolo) == "" OR trim($testo) == ""):
    echo 
    "I campi Titolo e Testo devono essere riempiti!";
    else: 
    etc... 
    che deve verificare se la password inserita è corretta e in caso inserire i dati nel db.
    la password specificata in config.inc.php è
    Codice PHP:
    $password "pippo"
    ma quando carico la insert.php e riempio i campi inserendo ovviamente come password pippo, la save.php mi risponde così:
    codice:
    Notice: Undefined variable: pass in c:\programmi\easyphp1-8\www\ilmiomondo.it\save.php on line 4
    Password errata
    leggendo un po' di discussioni in giro ho provato a modificare aggiungendo un
    Codice PHP:
    $password = ($_POST['password']); 
    ma ovviamente non ho ottenuto alcun risultato..

    dove sbaglio?
    io sto seguendo la guida passo-passo ma da solo proprio non capisco da che parte andare..



    grazie
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  2. #2
    prova a sostituire questo :

    tu hai scritto :

    codice:
    $password = ($_POST['password']);
    PROVA COSI INVECE :

    codice:
    $password =@$_POST['pass'];

  3. #3
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    [supersaibal]Originariamente inviato da froz
    codice:
    $password =@$_POST['pass'];
    [/supersaibal]
    dunque:
    innanzitutto grazie
    facendo come mi dici tu la risposta è
    codice:
    Notice: Undefined variable: pass in c:\programmi\easyphp1-8\www\ilmiomondo.it\save.php on line 5
    Password errata
    provando invece ad aggiungere questo
    Codice PHP:
    $password =@$_POST['password'];
    $titolo =@$_POST['titolo'];
    $testo =@$_POST['testo']; 
    per tutti e tre i campi passati dal form su cui fa il controllo, mi risponde con
    codice:
    Notice: Undefined variable: pass in c:\programmi\easyphp1-8\www\ilmiomondo.it\save.php on line 7
    
    Notice: Undefined variable: autore in c:\programmi\easyphp1-8\www\ilmiomondo.it\save.php on line 13
    
    Notice: Undefined variable: mail in c:\programmi\easyphp1-8\www\ilmiomondo.it\save.php on line 14
    
    Notice: Undefined variable: mese in c:\programmi\easyphp1-8\www\ilmiomondo.it\save.php on line 23
    
    Notice: Undefined variable: giorno in c:\programmi\easyphp1-8\www\ilmiomondo.it\save.php on line 23
    
    Notice: Undefined variable: anno in c:\programmi\easyphp1-8\www\ilmiomondo.it\save.php on line 23
    ma alla fine aggiunge che
    codice:
    L'articolo è stato inserito correttamente
    ed effettivamente nella tabella il record è andato.

    onestamente non capisco..
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  4. #4

    sbagli a recuperare le variabili con $_POST

    quando recuperi le variabili tramite il metodo $_POST['name_testo_input'];
    ricordati che la variabile presente nella parentesi graffa è il name del campo input del form che hai creato...penso che il problema tuo sia quello di non aver ben capito come recuperare le variabilli tramite il metodo $_POST.

  5. #5
    Ho letto la discussione ed onestamente c'è qualcosa che non quadra. Dici che nel file config hai specificato password = 'pippo' e fin qui tutto ok.
    Poi per richiamare la variabile fai $password = ($_POST['password']);

    Ora gli errori sono due
    1) Quando assegni un valore ad una variabile non devi usare le parentesi tonde.
    Pertanto la line asopra sarà $password = $_POST['password'];

    2) $_POST si usa per le variabili provenienti dai forum (quando inviano i dati con metodo post).

    Quindi la tua if di controllo della password sarà:

    if ($password == $_POST['pass']) { esegui le operazioni }

    dove $password è la password impostata nel file config e $_POST['pass'] è la password passata dal forum.

    Allo stesso modo per utilizzare i valori immessi negli altri campi dovrai utilizzare $_POST['nome_var']

    L'utilizzo della @ prima del nome della variabile è solo un modo per nascondere un errore ma uno script fatto bene non nasconde gli errori ma li elimina.

    Se hai ancora problemi posta che ti aiutiamo a risolverli! Ciao!

  6. #6
    La parentesi del post è quadra non graffa!

  7. #7
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030

    Re: sbagli a recuperare le variabili con $_POST

    [supersaibal]Originariamente inviato da froz
    quando recuperi le variabili tramite il metodo $_POST['name_testo_input'];
    ricordati che la variabile presente nella parentesi graffa è il name del campo input del form che hai creato...penso che il problema tuo sia quello di non aver ben capito come recuperare le variabilli tramite il metodo $_POST. [/supersaibal]
    mi sa che anche tu c'hai ragione..
    però speravo che seguire passo-passo quella guida non avesse problemi.. e invece..
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  8. #8
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    [supersaibal]Originariamente inviato da mircov
    Se hai ancora problemi posta che ti aiutiamo a risolverli! [/supersaibal]
    oh, davvero grazie anche a te per l'aiuto
    dunque..
    ho provato a togliere la @ (che non sapevo a che servisse ) dal codice e senza parentesi funziona

    senza voi due sarei ancora li' a girare come un pirla

    ma perché devo provvedere a questo accorgimento della dichiarazione iniziale delle variabili che invece nella giuda non è citata?

    è un problema di compatibilità di qualcosa?
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  9. #9
    in php non si dichiarano le variabili....

    la @ serve a non far visualizzare gli errori NOTICE, che tu avevi a bizzeffe...

  10. #10
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    [supersaibal]Originariamente inviato da froz
    in php non si dichiarano le variabili....[/supersaibal]
    mi sono espresso male..

    intendevo che nella guida non accenna a dover usare
    Codice PHP:
    $pass =$_POST['pass']; 
    ma se non la metto non solo mi riempie di notice, ma proprio non funziona..


    altro problema:
    l'unico errore che mi da ora è nel campo data, che la guida recupera con
    Codice PHP:
    $data mktime("0""0""0"$mese$giorno$anno); 
    ma che mi crea
    codice:
    Notice: Undefined index: data in c:\programmi\easyphp1-8\www\ilmiomondo.it\save.php on line 9
    
    Notice: Undefined variable: mese in c:\programmi\easyphp1-8\www\ilmiomondo.it\save.php on line 26
    
    Notice: Undefined variable: giorno in c:\programmi\easyphp1-8\www\ilmiomondo.it\save.php on line 26
    
    Notice: Undefined variable: anno in c:\programmi\easyphp1-8\www\ilmiomondo.it\save.php on line 26
    se questo metodo da problemi, come mi conviene gestire le date?
    è nella nostra unicità che risiede la meraviglia degli esseri umani

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.