Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    29

    Includere file php in altro file php, evitando l'html nel primo...

    Queste linee di codice:

    File register.php


    Codice PHP:
    <html><head>     <title>Registration Module</title>     <link href="css/access.css" rel="stylesheet" type="text/css" /></head><body>     <form id="login" action="register.php?do=verify" method="post">        <fieldset id="inputs">            <input id="username" name="username" type="text" placeholder="Username" autofocus required>            <input id="password" name="password" type="password" placeholder="Password" autofocus required>            <input id="email" name="email" type="email" placeholder="Email" autofocus required>        </fieldset>        <fieldset id="actions">            <input type="submit" id="submit" name="action" value="Submit New Registration">            <a href="login.php" id="back">Have already an account?</a>            <a href="index.php" id="back">Return Back</a>        </fieldset>    </form> </body></html>
    <?php

    include("functions_custom.php");include("config.php");
    $username trim(stripslashes($_POST['username'])); // trim$password = trim(stripslashes($_POST['password'])); // trim$email = trim(stripslashes($_POST['email']));       // trim$action = trim(stripslashes($_POST['action']));     // trim
    if(isset($username) && isset($password) && isset($email)) {            if(isset($action) && ($action=="Submit New Registration")) {
            if(isset(
    $_GET['do']) && ($_GET['do'] == 'verify')) {
         
    $con mysql_connect($host$db_user$db_psw);
                      
    mysql_select_db($db_name$con);
    $querying mysql_query("SELECT username FROM users WHERE username=".$username."");
    if (
    $querying != false)
      {
          echo 
    "<link href=\"css/custom_alert.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />        <script src=\"//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js\"></script>        <script src=\"js/custom_alert.js\"></script>        <script type=text/javascript>_alert('Error!','Username already exists! Choose another')</script>";  }

      
    $sqling mysql_query("SELECT email FROM users WHERE email=".$email."");
    if (
    $sqling != false
      {      echo 
    "<link href=\"css/custom_alert.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />        <script src=\"//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js\"></script>        <script src=\"js/custom_alert.js\"></script>        <script type=text/javascript>_alert('Error!','Email already exists! Choose another')</script>";  }

    $cod generateRandomImpossibleTosolveString(100);$code sha1((md5($cod)));

    // Mail
    $to $email;
    $subject "Confirm your Registration!";
    $body "
    Hy "
    .$username." this is an email for confirming your registrationat ".$website.".
    Please, for done it, go to this link ( http://"
    .$website."/member.php?do=confirm ) 
    You will must insert following credentials:
    Username = "
    .$username."Activation Code = ".$code.
    "
    ;
    $headers "From: Confirm Reg<confirmmod@".$website.".it>";
    if(@
    mail($to$subject$body$headers)) { 
    echo 
    "<link href=\"css/custom_alert.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />        <script src=\"//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js\"></script>        <script src=\"js/custom_alert.js\"></script>        <script type=text/javascript>_alert('Success!','An Email was sended to your mail address, check and follow instructions in it','index.php')</script>";


    else { 
        echo 
    "<link href=\"css/custom_alert.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />        <script src=\"//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js\"></script>        <script src=\"js/custom_alert.js\"></script>        <script type=text/javascript>_alert('Error!','Impossible sending email to your address, please try again')</script>";
    }

    }
    }
    }


        
    ?>

    In questo file gli utenti si registrano, un email viene inviata al loro indirizzo email, se avviene con successo appare un alert personalizzato, altrimenti errore.
    Nell'email c'è un link per attivare l'account.

    Qui entra in gioco il file member.php

    Codice PHP:
    <?php
    include("functions_custom.php");include("config.php");include("register.php");
     
    $con mysql_connect($host$db_user$db_psw);
                      
    mysql_select_db($db_name$con);
    $do $_GET['do'];
    if(isset(
    $do) && ($do == "confirm")) {
    echo 
    "<html><head>     <title>Confirm Module</title>     <link href=\"css/access.css\" rel=\"stylesheet\" type=\"text/css\" /></head><body>     <form id=\"login\" action=\"member.php?do=confirmact\" method=\"post\">        <fieldset id=\"inputs\">            <input id=\"username\" name=\"useract\" type=\"text\" placeholder=\"Username\" autofocus required>            <input id=\"password\" name=\"codeact\" type=\"password\" placeholder=\"Activation Code\" autofocus required>        </fieldset>        <fieldset id=\"actions\">            <input type=\"submit\" id=\"submit\" name=\"action\" value=\"Activate!\">            <a href=\"login.php\" id=\"back\">Have already an account?</a>        </fieldset>    </form> </body></html>";  

    $get $_GET['do'];          $useract $_POST['useract'];$codeact $_POST['codeact'];$action2 $_POST['action'];
    global 
    $username$email$code$password;
    if(isset(
    $useract) && ($useract == $username) && isset($codeact) && ($codeact == $code)) {  if(isset($action2) && ($action2 == 'Activate!')) {        if(isset($get) && ($get == 'confirmact')) {
                         
    $now TIME_NOW;
               
    $saltgenerateRandomImpossibleTosolveString(100);           $saltedpswsha1(md5($salt.sha1($password)));                                
    $query mysql_query("INSERT INTO users (username, password, email, activationcode, lastvisit, lastactive, memregdate) VALUES ($username$password$email$code$now$now$now)");
         while(
    $done mysql_fetch_array($query)) {
                                                      
    $user = array(             "username" => $username,                          "password" => $saltedpsw,                                       "email"    => $email,                                                    "activationcode" => $code,                                                                 "lastvisit" =>  $now,                                                                              "lastactive" => $now,                                                                                           "memregdate" => $now            );
           echo 
    "<link href=\"css/custom_alert.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />               <script src=\"//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js\"></script>                       <script src=\"js/custom_alert.js\"></script>         <script type=text/javascript>_alert('Success!','Congratulations! You have confirm successfully your reg request, now you can connect to forum!', 'index.php')</script>";
        }
     } }               
    }

    }
    ?>

    In questo file si esegue un controllo, che però ha bisogno delle variabili nel form di register.php
    Quindi ho messo include("register.php");

    Ma il problema di include è che includendo il file register.php, include anche il suo html, quindi nella pagina member.php?do=confirm invece che mostrarsi il modulo di attivazione:

    codice:
    echo "<html>
    <head>
     
        <title>Confirm Module</title>
     
        <link href=\"css/access.css\" rel=\"stylesheet\" type=\"text/css\" />
    </head>
    <body>
     
        <form id=\"login\" action=\"member.php?do=confirmact\" method=\"post\">
            <fieldset id=\"inputs\">
                <input id=\"username\" name=\"useract\" type=\"text\" placeholder=\"Username\" autofocus required>
                <input id=\"password\" name=\"codeact\" type=\"password\" placeholder=\"Activation Code\" autofocus required>
            </fieldset>
            <fieldset id=\"actions\">
                <input type=\"submit\" id=\"submit\" name=\"action\" value=\"Activate!\">
                <a href=\"login.php\" id=\"back\">Have already an account?</a>
            </fieldset>
        </form>
     </body>
    </html>";

    ..Appare invece questo, ovvero il modulo in register.php

    codice:
    <html>
    <head>
     
        <title>Registration Module</title>
     
        <link href="css/access.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
     
        <form id="login" action="register.php?do=verify" method="post">
            <fieldset id="inputs">
                <input id="username" name="username" type="text" placeholder="Username" autofocus required>
                <input id="password" name="password" type="password" placeholder="Password" autofocus required>
                <input id="email" name="email" type="email" placeholder="Email" autofocus required>
            </fieldset>
            <fieldset id="actions">
                <input type="submit" id="submit" name="action" value="Submit New Registration">
                <a href="login.php" id="back">Have already an account?</a>
                <a href="index.php" id="back">Return Back</a>
            </fieldset>
        </form>
     
    </body>
    </html>

    Sto provando la sintassi con global:

    Codice PHP:
    global $username$password$code$email
    ma nulla, le variabili non vengono richiamate...

    A questo punto chiedo il vostro aiuto, sono disperato.

    Grazie in anticipo!

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    292
    Ciao Hyder,
    il vero problema non è capire come fare l'include, ma il mix forsennato di php con html, è un frullato inleggibile.
    Ci sta, tutti più o meno abbiamo iniziato così, però se posso darti un consiglio (anche se non è la risposta alla tua domanda) cerca di capire subito come dividere il codice.
    Ultima modifica di arkus; 05-02-2015 a 11:19

Tag per questa discussione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.