Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Programare...
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
Subiectul anterior :: Subiectul următor  
Autor Mesaj
T-RaiNeR



Data înscrierii: 22/Noi/2002
Mesaje: 11
Locație: Constanta

Trimis: Joi Mar 20, 2003 12:32 am    Titlul subiectului: Programare...  

Am o rugaminte...Ma poate ajuta cineva cu un script php ?

Sa va spun despre ce este vorba : as vrea sa fac o pagina de upload de fisiere, dar nu una simpla (adica cu browse pt. fisier si upload direct), ci una in care sa pot introduce mai multe optiuni (nume, mail, website etc.) si apoi script-ul sa genereze un tabel in ordinea introducerii datelor. In tabel ar trebui sa apara coloane cun informatiile necesare (coloana cu nume, site, mail etc...)

Se poate ? Este usor ?

Sa va dau un mic ajutor cum ar trebui sa arate : http://www.vngamecenter.com si click pe trainers in stanga ...

Multumesc anticipat...

P.S. : Am un script asemanator ca start : http://www.gamehacking.as.ro/xDownload/download.php?password=test&act=admin&send=ok

Daca va cere parola introduceti test
Sus  
Dan Alexandru



Data înscrierii: 05/Apr/2003
Mesaje: 45

Trimis: Sâm Apr 05, 2003 2:30 pm    Titlul subiectului:  

Treaba este destul de simpla.
Am facut o clasa care genereaza orice tip de formular+introducere in baza de date+ validare pentru date. ai aici fisierele necesare:
Daca ai intrebari iti raspund eu dupa aceea :wink: eea

//general.php
<?php
include("array.php");
include("functions.php");
$form1=new temple($array_form_index['array'][$nf],$array_form_index['table'][$nf],$database_name);
?>
<html>
<head>
<title>Temple</title>
</head>
<body>
<a href="index.php">index</a><br>
<?php
$form1->start($action,$id);
?>
</body>
</html>


functions.php
<?php
class temple
{
var $con;
var $table;
var $database;
var $array_form;
function temple($array_form,$table,$database)
{
$this->array_form=$array_form;
$this->table=$table;
$this->database=$database;
}
function initDB()
{
$this->con=mysql_connect("localhost","root","");
mysql_select_db($this->database);
}
function start($action,$db_id)
{
if($action=="insert_form")
{
echo "insert form";
$this->show_form('insert','');
}
if($action=="update_form")
{
echo "update form";
$this->show_form('update',$db_id);
}
if($action=="update_table")
{
echo "update table";
$this->show_database_table();
}
if($action=="insert_data")
{
echo "insert data\n";
$this->initDB();
echo $this->my_insert();
}
if($action=="update_data")
{
echo "update data\n" ;
$this->initDB();
$this->my_update($db_id);
}
}
function show_form($action,$db_id)
{

$nr_args=0;
$args="";
for($i=0;$i<count($this->array_form['field_check']);$i++)
{
if($this->array_form['field_check'][$i]!="")
if($nr_args)
$args=$args . "," . ($i+1) . ",'" . $this->array_form['field_check'][$i] . "'";
else
{
$args=$args . ($i+1) . ",'" . $this->array_form['field_check'][$i] ."'";
$nr_args++;
}
}
$text = "\n<form name=\"frmData\" method=\"post\" action=\"general.php\">";
if($action=="update")
{
$action="update_data";
$this->initDB();
$query="select * from " . $this->table . " where id=" . $db_id;
$rs=mysql_query($query);
$array_db=mysql_fetch_row($rs);
$text=$text . show_field("hidden","id",'',$db_id);
}
else $action="insert_data";
$text=$text . "\n" . show_field("hidden","table",'',$this->table) .
"\n" . show_field("hidden","action",'',$action) .
"\n" . show_table($this->array_form,$array_db,'') .
"\n<input name=\"Submit\" type=\"submit\" value=\"Submit\" onClick=\"MM_validateForm(" . $args . ");return document.MM_returnValue\">\n" .
"<input type=\"reset\" value=\"Cancel\" >" .
"\n</form>";
echo $text;
}

function my_insert_id()
{
$fields = mysql_list_fields($this->database, $this->table, $this->con);
$query="insert into " . $this->table . "(" . mysql_field_name($fields, 1) . ") values ('')";
mysql_query($query);
return mysql_insert_id($this->con);
}

function my_update($id)
{
$fields = mysql_list_fields($this->database, $this->table, $this->con);
$query="update " . $this->table . " set ";
for ($i = 1; $i < mysql_num_fields($fields)-1; $i++)
{
$query=$query . mysql_field_name($fields, $i) . "='" . $_POST['c' . $i] ."',";
}
$query=$query . mysql_field_name($fields, $i) . "='" . $_POST['c' . $i] ."' where id=" . $id;
mysql_query($query);
}

function my_insert()
{
$id=$this->my_insert_id();
$this->my_update($id);
}

function show_database_table()
{
$this->initDB();
$fields = mysql_list_fields($this->database,$this->table, $this->con);
$columns = mysql_num_fields($fields);
$query="select * from " . $this->table;
echo $this->database;
$rs=mysql_query($query);
$row_count=mysql_num_rows($rs);
echo "Au fost gasite " . $row_count . " anunturi ";
if($row_count>0)
{
$dim_pag=30;
$pag_count=ceil($row_count/$dim_pag);
if(!isset($pag_cur)) $pag_cur=1;
$start_row=($pag_cur-1)*$dim_pag;
$stop_row=($pag_cur * $dim_pag-1)<$row_count?($pag_cur* $dim_pag):$row_count;
echo "\n<table>\n<tr>\n\t\t<th bgcolor=\"#00CCFF\"></th> \n\t\t<th bgcolor=\"#00CCFF\">Nr. crt.</th>";
for($i=1;$i<$columns;$i++)
{
echo "\n\t\t<th bgcolor=\"#00CCFF\" align=\"left\">" . mysql_field_name($fields, $i) . "</th>";
}
echo "</tr>";
for($i=1;$i<=$row_count;$i++)
{
$row=mysql_fetch_array($rs);
if($i>=$start_row+1 && $i<=$stop_row)
{
echo "\n<tr bordercolor=\"#CCCCCC\" bgcolor=\"#DCE7EB\" onmouseover= \"setPointer(this, '#DEF9FE')\" onmouseout=\"setPointer(this, '#DCE7EB')\" onClick=\"location.href='general.php?action=update_form&pag_cur=" . $pag_cur . "&id=" . $row['id'] . "'\">" .
"\n\t\t<td><a href=\"general.php?pag_cur=" . $pag_cur . "&id=" . $row['id'] . "\"><font color=\"#000099\" size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Delete</font></a></td>" .
"\n\t\t<td bgcolor=\"#DCE7EB\" bordercolor=\"#CCCCCC\" align=\"left\">" . $i . "</td>";
for($j=1;$j<$columns;$j++)
{
echo "\n\t\t<td bordercolor=\"#CCCCCC\" align=\"left\">" . $row[$j] . "</td>";
}
echo "\n</tr>";
}
}
echo "\n</table>";
$pag_back=$pag_cur>1?$pag_cur-1:$pag_cur;
$pag_back_back=$pag_cur-5>1?$pag_cur-5:1;
if($pag_cur-5>1)
echo '<a href="index1.php?pag_cur=' . $pag_back_back . "&tip=" . $tip . '">&&<<&&</a>';
if($pag_cur>1)
echo '<a href="index1.php?pag_cur=' . $pag_back . "&tip=" . $tip . '">&&<&&</a>';
for($i=(1>$pag_cur-5?1:$pag_cur-5);$i<=($pag_count>$pag_cur+5?$pag_cur+5:$pag_count);$i++)
{
if($i==$pag_cur)
echo '<a href="index1.php?pag_cur=' . $i . "&tip=" . $tip . '"><font color=red><b>' . $i . '</b></font>&&</a>';
else
echo '<a href="index1.php?pag_cur=' . $i . "&tip=" . $tip . '">' . $i . '&&</a>';
}
$pag_next=$pag_cur<$pag_count?$pag_cur+1:$pag_cur;
$pag_next_next=$pag_cur+5<=$pag_count?$pag_cur+5:$pag_count;
if($pag_cur<$pag_count)
echo '<a href="index1.php?pag_cur=' . $pag_next . "&tip=" . $tip . '">&&>&&</a>';
if($pag_cur+5<$pag_count)
echo '<a href="index1.php?pag_cur=' . $pag_next_next . "&tip=" . $tip . '">&&>>&&</a>';
}
}
}

function show_table($array_form,$array_db,$name0)
{

$text="\n<table border=1>";
for($i=0;$i<count($array_form['field_type']);$i++)
{
$text=$text ."\n<tr>" .
"<th>" .
$array_form['field_name'][$i] .
"</th>".
"<td>" .
show_field($array_form['field_type'][$i],$name0 . "c" . ($i+1),$array_form['field_val'][$i],$array_db[$i+1]) .
show_field("hidden",str_replace("c","h",$name0) . "h" . ($i+1),'',$array_form['field_name'][$i]) .
"</td>".
"</tr>";
}
$text=$text . "\n</table>";
return $text;
}

function show_field($type,$name,$array,$value)
{
//if(count($type)>1)
// return show_table($type,$name);
switch($type)
{
case "input":
$text= "<input name=\"" . $name . "\" value=\"" . $value . "\">";
break;
case "hidden":
$text= "<input type=\"hidden\" name=\"" . $name . "\" value=\"" . $value . "\">";
break;
case "textarea":
$text= "<textarea name=\"" . $name . "\">" . $value . "</textarea>";
break;
case "select":
$text= "\n<select name=\"" . $name . "\">";
for($i=0;$i<count($array);$i++)
{
if($array[$i]==$value)
$text=$text . "\n<option value=\"" . $array[$i] . "\" selected>" . $array[$i] . "</option>";
else
$text=$text . "\n<option value=\"" . $array[$i] . "\" >" . $array[$i] . "</option>";
}
$text= $text . "\n</select>";
break;
case "radio":

for($i=0;$i<count($array);$i++)
{
if($array[$i]==$value || (($i==0) && ($value=="")))
$text=$text ."\n<input name=\"" . $name . "\" type=\"radio\" value=\"" . $array[$i] . "\" checked>" . $array[$i] . "<br>";
else
$text=$text . "\n<input name=\"" . $name . "\" type=\"radio\" value=\"" . $array[$i] . "\">" . $array[$i] . "<br>";
}
break;
//nu e lucrat
case "checkbox":
$text= "<input type=\"checkbox\" name=\"" . $name . "\" value=\"" . $array . "\">";
break;
}
return $text;
}
?>
<SCRIPT language=JavaScript>
function MM_findObj(n, d)
{
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && document.getElementById) x=document.getElementById(n); return x;
}


function MM_validateForm()
{
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-1); i+=2) { test=args[i+1]; val=MM_findObj('c'+ args[i]); valh=MM_findObj('h'+args[i]);
if (val)
{
nm=valh.value;
if ((val=val.value)!="")
{
if (test.indexOf('isEmail')!=-1)
{
p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
}
else
if (test!='R')
{
if (isNaN(val)) errors+='- '+nm+' must contain only numbers.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
}
}
}
else
if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
}
if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
}
function setPointer(theRow, thePointerColor)
{
if (thePointerColor == '' || typeof(theRow.style) == 'undefined') {
return false;
}
if (typeof(document.getElementsByTagName) != 'undefined') {
var theCells = theRow.getElementsByTagName('td');
}
else if (typeof(theRow.cells) != 'undefined') {
var theCells = theRow.cells;
}
else {
return false;
}
var rowCellsCnt = theCells.length;
for (var c = 0; c < rowCellsCnt; c++) {
theCells[c].style.backgroundColor = thePointerColor;
}

return true;
}
</script>


//array.php

<?php
$database_name="temple";
$array_form1=array(
"field_check" => array("R","R","RisEmail","R","R",""),
"field_type" => array("input","input","input","radio","radio","textarea"),
"field_name" => array("Nume","Prenume","E-mail","*","Stare civila","Observatii"),
"field_val" => array("","","",array("M","F"),array("casatorit","necasatorit"),"")
);
$array_form2=array(
"field_check" => array("R","R","RisEmail","R","R"),
"field_type" => array("input","input","input","radio","radio"),
"field_name" => array("Nume","Prenume","E-mail","*","Stare civila"),
"field_val" => array("","","",array("M","F"),array("casatorit","necasatorit"))
);
$array_form_index=array(
"array" => array($array_form1,$array_form2),
"table" => array("test1","test2")
);
?>


//index.php
<html>
<head>
<title>Untitled Document</title>

</head>

<body>
<?php
if(!isset($nf))
{
session_start();
session_register('nf');
}
?>
<table>
<tr>
<td>test1</td>
<td>
<a href="general.php?nf=0&action=insert_form">insert</a><br>
<a href="general.php?nf=0&action=update_table">update</a>
</td>
</tr>
<tr>
<td>test2</td>
<td>
<a href="general.php?nf=1&action=insert_form">insert</a><br>
<a href="general.php?nf=1&action=update_table">update</a>
</td>
</tr>
</table>
</body>
</html>

//creezi o baza de date temple sa zicem cu tabelele urmatoare

CREATE TABLE test1 (
id int(11) NOT NULL auto_increment,
nume text NOT NULL,
prenume text NOT NULL,
mail text NOT NULL,
* enum('M','F') NOT NULL default 'M',
stare_civila enum('casatorit','necasatorit') NOT NULL default 'casatorit',
observatii text NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;

#
# Dumping data for table `test1`
#

INSERT INTO test1 VALUES (1, 'n', 'p', 'm', 'M', 'casatorit', 'o');
# --------------------------------------------------------

#
# Table structure for table `test2`
#

CREATE TABLE test2 (
id int(11) NOT NULL auto_increment,
nume text NOT NULL,
prenume text NOT NULL,
mail text NOT NULL,
* enum('M','F') NOT NULL default 'M',
stare_civila enum('casatorit','necasatorit') NOT NULL default 'casatorit',
PRIMARY KEY (id)
) TYPE=MyISAM;

#
# Dumping data for table `test2`
#

INSERT INTO test2 VALUES (1, '1', '', '', 'M', 'casatorit');
INSERT INTO test2 VALUES (13, 'Bodarete', 'decebale', 'decydecy@yahoo.com', 'M', 'casatorit');
INSERT INTO test2 VALUES (14, '1', '2', '3@k.ro', 'M', '');
INSERT INTO test2 VALUES (15, '1', '2', '3@k.ro', 'M', 'casatorit');
INSERT INTO test2 VALUES (16, 'n', 'p', 'a@k.ro', 'M', 'casatorit');
INSERT INTO test2 VALUES (17, 'x1', 'x2', 'x3@k.ro', 'M', 'casatorit');
INSERT INTO test2 VALUES (18, '1', '11', '1@k.ro', 'M', 'casatorit');
INSERT INTO test2 VALUES (19, '1', '2', '3@k.ro', 'M', 'casatorit');
Sus  
Dan Alexandru



Data înscrierii: 05/Apr/2003
Mesaje: 45

Trimis: Sâm Apr 05, 2003 3:04 pm    Titlul subiectului:  

Scriptul de mai sus este pentru creearea formularului si introducerea datelor intr-o baza de date.
Pentru upload trebuie sa creezi un camp browse in formular si apoi poti prelua fisierul cu un script de genul:
<?php

if ($img1_name != "") {

@copy("$img1" , "/images/main_images/$img1_name")

or die("Couldn't Upload Your File.");


} else {

die("No File Specified");

}

?>

<HTML>
<HEAD>
<TITLE>File Upload Successful</TITLE>
</HEAD>

<BODY>

<H1>File Upload Successful!</H1>

<P>Successfully Sent: <?php echo "$img1_name"; ?> , a <?php echo "$img1_size"; ?> byte file with the extension type of <?php echo "$img1_type"; ?> </P>

</BODY>

</HTML>

//im1 este numele campului din formular

Unde ai mai exact probleme?
La integrarea cu baza de date?

Succes!
Sus  
T-RaiNeR



Data înscrierii: 22/Noi/2002
Mesaje: 11
Locație: Constanta

Trimis: Dum Apr 13, 2003 4:39 am    Titlul subiectului:  

Ummm...mersi foarte frumos pentru sursa...a mers testata pe alt server...

Am uitat sa spun ca nu am MySql, cei de la as.ro nu vor sa mi-l activeze, altii care s-au inscris dupa mine il au deja activat...nush cum vine treaba...

Eu incercam sa fac un script pentru upload de fisiere care sa genereze un tabel care sa aiba 5 coloane (Nume, Autor, Mail, Site, Download). Scriptul asta ar avea un index.php cu un formular in care se introduc datele astea si el doar genereaza linia corespunzatoare in tabel astfel incat sa arate ceva de genul :

--------------------------------------------------
| Nume | Autor | Mail | Site | Download |
--------------------------------------------------
- restul liniilor cu date le insereaza scriptul...

P.S. : Ar fi mai usor cu MySql, dar nu-l am activat si am incercat cu PHP...
Te rog sa incerci scriptul pus mai sus (in primul post e un link) si sa
vezi daca poti modifica ceva

Ideea e ca nu pot folosi o baza de date, ci trebuie sa stochez tot info-ul intr-un fisier text (.txt)...
Sus  
Dan Alexandru



Data înscrierii: 05/Apr/2003
Mesaje: 45

Trimis: Dum Apr 13, 2003 11:32 am    Titlul subiectului:  

Daca ai o baza de date pe alt server eu zic sa-ti pui deocamdata acolo baza de date pana iti activeaza mysql-ul cei de la as.ro .
O sa vad ce se poate face cu fisierele.
Succes,
Alex.
Sus  
mpintea



Data înscrierii: 17/Apr/2003
Mesaje: 8

Trimis: Lun Apr 21, 2003 9:31 am    Titlul subiectului:  

te rog sa imi spui unde e scriptul finctions.php
Am incercat sa rulez ceea ce ai scris tu dar se pare ca imi cere functions.php care nu apare aici
Sus  
Dan Alexandru



Data înscrierii: 05/Apr/2003
Mesaje: 45

Trimis: Lun Apr 21, 2003 12:06 pm    Titlul subiectului:  

Am modificat un pic ce am facut atunci si gasesti aici sursele:
www.dezibelmedia.ro/temple/temple.zip
Succes!
Alex.
Sus  
mpintea



Data înscrierii: 17/Apr/2003
Mesaje: 8

Trimis: Mar Apr 29, 2003 12:36 pm    Titlul subiectului:  

nu am reusit sa rulez ceea ce mi-ai dat tu in acel fisier arhivat

browserul meu accepta cookie dar daca nu sterg liniile in care scrii isset(nf) nu merge .

Si asa daca sterg partea aia nu imi face nimic (nu modifica , nu sterge ) nimic in tabelele respective . Ai putea sa ma ajuti?

Mersi mult

Marius
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community