Insert cu ID-ul de user logat

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
botavlad89
Mesaje:13

Insert cu ID-ul de user logat

In primul rand buna ziua ! Tin sa mentionez ca sunt nou pe form dar si in php , mysql.

Am si eu o problmea incerc sa fac un mic proiect pt mine si nu-mi reuseste o chestie nici cum .Ca sa fiu mai explicit o sa adaug niste coduri php .
Urmatorul cod imi verifica daca sunt logat pe site (merge ok )

Cod: Selectaţi tot

<?php
include  "conectare.php";
if(isset($_COOKIE['ID_my_site']))
 { 
     $username = $_COOKIE['ID_my_site']; 
     $pass = $_COOKIE['Key_my_site'];
     $check = mysql_query("SELECT IdUser,username,password,Denumire FROM tblusers,tbltipuser WHERE username = '$username' and tblusers.Tip=tbltipuser.IdTip")or die(mysql_error());

     $info = mysql_fetch_array( $check );             
         if ($pass == $info['password'])                     
            if(('Admin')==$info['Denumire']){
?>
Aici urmeaza un forumlar de inserare intrun table :

Cod: Selectaţi tot

<?php 
function protect($string){
    $string = mysql_real_escape_string($string);
    $string = strip_tags($string);
    $string = addslashes($string);
    return $string;
}
if(!$_POST['submit']){
?>
        <center><form action="<?php $_SERVER['PHP_SELF'];?>"  method="post">
        

        <font color="blue" ><b>Introduceti descrierea source codu-lui (max. 150 caractere)</b></font></br></br>
                    <textarea rows="4" cols="60" name="descriere" wrap="physical"></textarea><br />
                     </br>
                     </br>
        <font color="blue" ><b>Introduceti Source Codu</b></font></br></br>
                     <textarea rows="25"cols="60" name="sourcecode" wrap="physical"></textarea><br />
                     </br>
        <font color="blue" ><b>Selecteaza categoria din care crezi ca face parte Source Code-ul</b></font></br>
                    <SELECT name="Id">
                                <?php

                                $strSQL = "SELECT * FROM tblcategoriesource_code";
                                $rs = mysql_query($strSQL);
                                $nr = mysql_num_rows($rs);
                                for ($i=0; $i<$nr; $i++) {
                                    $r = mysql_fetch_array($rs);
                                    echo "<OPTION VALUE=\"".$r["Id"]."\">".$r["Denumire"]."</OPTION>";
                                }
                                ?>

                    </SELECT></br></br>
                    
                    <input type="submit" name="submit" class="button" value ="Adauga">
                    </center>                    
                   </form>
                   <?php
}else {           

$descriere = $_POST['descriere'];
$sourcecode = $_POST['sourcecode'];
$categorie = $_POST ['Id'];
$User = $_POST ['IdUser'];
$errors = array();
                if(!$descriere){
                        $errors[] = "<font color='red'>Obligatoriu sa adaugi o descriere </font>";
                }
                if(!$sourcecode){
                        $errors[] = "<font color='red'>Trebuie sa adaugi sourcecode-ul</font>";
                }
if(count($errors) > 0){
            foreach($errors AS $error){
                echo $error . "<br>\n";
            }
        }else {
$sql4 = "insert into tblsource_code (IdUser,descriere,sourcecode,IdCategorie)
                    VALUES ('$User','$descriere','$sourcecode','$categorie')";
 $res4 = mysql_query($sql4) or die(mysql_error());
echo '<h3><font color="red" >Problema a fost adaugata cu succes!</font></h3><br/>';
}
}
?>
Vreau sa inserez tabel datele din formular , merge pana la un loc unde m-am blocat . Tabelu are umatoarele campuri :
ID, Iduser, Descriere , SourceCode, IdCategorie.
Acuma vine problema mea cum pot face sa inserez idUser cu care sunt logat ?
Mentionez inca o data ca fac primi pasi in php . Am mai postat pe ceva forumuri si toti au facut haze de necaz tipic romanesc .
Multumesc mult !!

claUdiu Mesaje:313
Pai pentru a-l adauga, trebuie sa-l ai intr-o variabila. Atunci cand se logheaza, poti sa extragi id-ul si sa-l pui intr-o sesiune, sau cookie iar in fisierul de adaugare in db, doar accesezi acea variabila.
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?

MarPlo Mesaje:4343
Salut
Din select-ul care verifici daca e logat poti retine "iduser" in sesiune.
Dupa cum e in cod, ar veni asa:

Cod: Selectaţi tot

$_SESSION['iduser'] = $info['IdUser']; 
Apoi, in fisierul care face Insert-ul sa ai session_start(); la inceput, si inlocuiesti:

Cod: Selectaţi tot

$User = $_POST ['IdUser'];
Cu:

Cod: Selectaţi tot

$User = $_SESSION['iduser']; 
Sau:

Cod: Selectaţi tot

$sql4 = "insert into tblsource_code (IdUser,descriere,sourcecode,IdCategorie)
                    VALUES (".$_SESSION['iduser'].",'$descriere','$sourcecode','$categorie')"; 

botavlad89 Mesaje:13
Multumesc ff mult MarPlo Merge ff bine .
Stima !!