Visualizzazione risultati 1 fino 8 di 8

Discussione: Php e database

  1. #1
    Guest

    Predefinito Php e database

    Salve a tutti.

    Sono alle prese con un form html.
    Prendo i dati da esso e tramite una pagina php, invio il tutto ad un database.
    Sto usando workbanch, e credo che il problema che ho è che non riesco a metterlo online.
    Mi potete dare una mano?

    Premetto che il codice html postato, è funzionante per quanto riguarda l'invio di email, dunque penso che non ci siano problemi..

    Codice:
    <?php
    $con = mysql_connect("localhost","Giuseppe","20081990");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
    
    mysql_select_db("prova", $con);
    
    $sql="INSERT INTO persona (nome,cognome, professione,email) VALUES ('$_POST[nome]','$_POST[cognome]','$_POST[professione]','$_POST[email]')";
    
    if (!mysql_query($sql,$con))
      {
      die('Error: ' . mysql_error());
      }
    echo "1 record added";
    
    mysql_close($con);
    ?>
    Codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    
    <html>
    	<head>
    	   <meta http-equiv="Content-Type" content="text/html"; charset="iso-8859-1">
    	   <title>Giuseppe</title>
    	</head>
    	
    	<body bgcolor="orange" text="green" >
    		
    		<form name="dati utente" action="prova.php" method="post">
    
    		 <fieldset>
    			<legend>Dati Utente</legend>
    			<label>Nome:</label> <input name="nome" type="text" size="20" maxlength="30" />
    			<label>Cognome:</label> <input name="cognome" type="text" size="20" maxlength="30" />
    			<label>Professione:</label> <input name="professione" type="text" size="20" maxlength="30" />
    			<label>Email:</label> <input name="email" type="text" size="20" maxlength="30" />
     
    		</fieldset>
    		<br/>
    		<br/>
    		<br/>
    		<button type="reset">annulla</button>
    		    
    		<button type="submit">invia</button>	
    		
                    </form>
    		
    			
    	</body>
    
    </html>

  2. #2
    Guest

    Predefinito

    Il locale puoi usare tutti i tools che vuoi, ma su AV questi avranno la strada sbarrata poichè non é possibile l'accesso al DB dall'esterno. Quindi se il ruo problema è che workbench non si collega al db è naturale.

  3. #3
    Guest

    Predefinito

    E allora come faccio a provare se le mie due pagine funzionano bene?
    il codice php non deve funzionare per forza sul web?

  4. #4
    Guest

    Predefinito

    Il codice PHP viene interpretato da un interprete PHP appunto.
    Scusa per evitare confusione, ma stiamo parlando del tool workbench quale GUI per MySQL?

  5. #5
    Guest

    Predefinito

    si mysql workbanch

  6. #6
    Guest

    Predefinito

    Ecco. Allora ti confermo che tramite quel tool non puoi interagire col DB di AV.
    Puoi usare phpMyAdmin, lo trovi tra gli strumenti presenti nel pannello di controllo.

  7. #7
    Guest

    Predefinito

    Se volessi fare in un solo colpo, inserimento in DB e invio email? cosa devo fare? ecco la mia idea?

    P.s tutto quello di prima era funzionante e ti ringrazio per l'aiuto

    Così insiersce solo in DB ma non inoltra l'email.


    Codice:
    <?php
    $con = mysql_connect("localhost","zanettiinter","xxxxx");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
    
    mysql_select_db("my_zanettiinter", $con);
    
    $sql="INSERT INTO persona (nome,cognome, professione,email) VALUES ('$_POST[nome]','$_POST[cognome]','$_POST[professione]','$_POST[email]')";
    
    if (!mysql_query($sql,$con))
      {
      die('Error: ' . mysql_error());
      }
    echo "1 record added";
    
    mysql_close($con);
      
    
    
    //Raccolta informazioni da form
    
    session_start();
    
    $nome = $_POST['nome'];
    $cognome = $_POST['cognome'];
    $professione = $_POST['professione'];
    $email = $_POST['email'];
    
    
    //Fine raccolta informazioni
    
    //Invio mail al Webmaster
    
    $to = "pelatodifiducia@hotmail.it";
    $sbj = "Hai ricevuto dei dati dal sito ";
    $msg = "
    <html>
    <head>
    <style type='text/css'>
    p.stile {font-weight:bold;
    font-family:arial, sans-serif;
    }
    
    p {font-family:arial, sans-serif;
    }
    </style>
    </head>
    
    <body>
    <p>Hai ricevuto i seguenti dati da $nome $cognome</p>
    <p class='stile'>E-Mail:</p><p>$email</p>
    <p class='stile'>Professione:</p><p> $professione</p>
    </body>
    </html>
    ";
    
    $from = $email;
    $headers = 'MIME-Version: 1.0' . "\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
    $headers .= "From: $from";
    
    mail($to, $sbj, $msg, $headers);
    
    //Fine invio messaggio al Webmaster
    
    //Inizio invio email all'utente
    
    $toclient = $email;
    $sbjclient = "Hai ricevuto una mail dal sito ";
    $msgclient = "Inserisci il messaggio";
    
    $fromclient = "Nome del sito";
    $headersclient = 'MIME-Version: 1.0' . "\n";
    $headersclient .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
    $headersclient .= "From: $fromclient";
    
    mail($toclient, $sbjclient, $msgclient, $headersclient);
    
    session_destroy();
    
    exit;
    ?>
    Ultima modifica di ZanettiInter : 30-08-2012 alle ore 11.20.20

  8. #8
    Guest

    Predefinito

    Fai molta confusione e mescoli troppo codice.

    1. Se ti servono le sessioni, metti session_start() come prima istruzione. (Non capisco cmq perchè crei la sessione e poi la distruggi. se non ti serve non crearla)

    2. raggruppa il codice evitando un po' di ripetizione e non spezzare il flusso.

    3. Regola d'oro: Non ti fidare mai. Bonifica IN OGNI CASO i valori passati. Non usare mai direttamente $_POST ma verifica che le variabili contengano ciò che ti aspetti

Regole di scrittura

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