# Suche eine Art Archivierungsscript



## HellGod (28. August 2006)

Hallo ich suche ein "einfaches" Script womit ich über eine eingabemaske daten in eine DB erfassen kann, welche dann auf einer anderen seite ausgegeben werden  und das ich diese dann edieren kann...   ein kleiner ansatz  mit 2 feldern würde reichen erweietrungen bekomme ich dann sicher selber hin ( bilder und links solten auch erfasst werden können) wenn möglich dann noch mit einem PW schutz. 

Wäre nett wenn mir da jemand helfen könnte


----------



## Dennis Wronka (28. August 2006)

Hi, willkommen im Forum.
Da ich heute morgen, aus mir selbst unerfindlichen Gruenden, verdammt gute Laune hab hab ich grad mal ein wenig was zusammengeschustert.
Dazu muss ich aber sagen, dass ich dabei einige Pruefungen rausgelassen habe, so kann das Formular das Formular auch einfach leer abgeschickt werden, es werden dann halt leere Eintraege gemacht.
Hier und da solltest Du also noch ein wenig was dran machen, aber so lernst Du dann wenigstens auch was. Denn darum geht es uns hier ja, wir sind ja schliesslich nicht bei "Wuensch Dir was". 
Und halte Dich bitte durchgaengig an Gross- und Kleinschreibung, und nicht nur mal zwischendurch.


```
<?php
if ((!empty($_SERVER['PHP_AUTH_USER'])) && ($_SERVER['PHP_AUTH_USER']=='myadminuser') && (!empty($_SERVER['PHP_AUTH_PW'])) && ($_SERVER['PHP_AUTH_PW']=='myadminpassword'))
	{
		$adminuser=true;
	}
else
	{
		$adminuser=false;
	}
if (isset($_GET['login']))
	{
		if ($adminuser==true)
			{
				header('Location:'.$_SERVER['PHP_SELF']);
				exit;
			}
		else
			{
				header('HTTP/1.1 401 Unauthorized');
				header('WWW-Authenticate:Basic');
				exit;
			}
	}
if ($adminuser==false)
	{
		header('Location:'.$_SERVER['PHP_SELF'].'?login');
		exit;
	}
$db=mysql_connect('mydbhost','mydbusername','mydbpassword');
mysql_select_db('mydatabase',$db);
if (isset($_POST['insert']))
	{
		mysql_query("insert into `mytable` (`feld1`,`feld2`) values ('".$_POST['feld1']."','".$_POST['feld2']."')",$db);
		header('Location:'.$_SERVER['PHP_SELF']);
	}
elseif (isset($_POST['update']))
	{
		mysql_query("update `mytable` set `feld1`='".$_POST['feld1']."', `feld2`='".$_POST['feld2']."' where `id`='".$_POST['id']."'",$db);
		header('Location:'.$_SERVER['PHP_SELF']);
	}
elseif (!empty($_GET['delete']))
	{
		mysql_query("delete from `mytable` where `id`='".$_GET['delete']."'",$db);
		header('Location:'.$_SERVER['PHP_SELF']);
	}
elseif (!empty($_GET['edit']))
	{
		$results=mysql_query("select * from `mytable` where `id`='".$_GET['edit']."'",$db);
		$result=mysql_fetch_assoc($results);
		echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'">';
		echo 'Feld 1:<input type="text" name="feld1" value="'.$result['feld1'].'"><br>';
		echo 'Feld 2:<input type="text" name="feld2" value="'.$result['feld2'].'"><br>';
		echo '<input type="hidden" name="id" value="'.$_GET['edit'].'">';
		echo '<input type="submit" name="update" value="Update">';
		echo '</form>';
	}
else
	{
		echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'">';
		echo 'Feld 1:<input type="text" name="feld1"><br>';
		echo 'Feld 2:<input type="text" name="feld2"><br>';
		echo '<input type="submit" name="insert" value="Insert">';
		echo '</form>';
		echo '<table border="1">';
		echo '<tr><th>Feld1</th><th>Feld2</th><th colspan="2">Aktion</th></tr>';
		$results=mysql_query("select * from `mytable`",$db);
		while ($result=mysql_fetch_assoc($results))
			{
				echo '<tr><td>'.$result['feld1'].'</td><td>'.$result['feld2'].'</td><td><a href="'.$_SERVER['PHP_SELF'].'"?edit='.$result['id'].'">Bearbeiten</a></td><td><a href="'.$_SERVER['PHP_SELF'].'"?delete='.$result['id'].'">Loeschen</a></td></tr>';
			}
		echo '</table>';
	}
mysql_close($db);
?>
```


----------



## HellGod (28. August 2006)

Hi Danke für die Prompte antwort 
Und jau werds mit meinem groß und klein versuchen auf die reihe zu bekommen ^^


Ich hab mich damit bisschen befasst und musste feststellen das es irgendwie noch nicht so geht wie es soll. Ich kann zwar Daten einfügen aber weder löschen noch bearbeiten.
wodran kann das denn liegen ?


```
<?php

$mysql_host = "localhost";
$mysql_user = "testuser";
$mysql_password = "";
$mysql_db = "12345";
$mysql_db_table ="test";

if ((!empty($_SERVER['PHP_AUTH_USER'])) && ($_SERVER['PHP_AUTH_USER']=='myadminuser') && (!empty($_SERVER['PHP_AUTH_PW'])) && ($_SERVER['PHP_AUTH_PW']=='myadminpassword'))
          {
              $adminuser=true;
          }
      else
          {
              $adminuser=false;
          }
      if (isset($_GET['login']))
          {
              if ($adminuser==true)
                  {
                      header('Location:'.$_SERVER['PHP_SELF']);
                      exit;
                  }
              else
                  {
                      header('HTTP/1.1 401 Unauthorized');
                      header('WWW-Authenticate:Basic');
                      exit;
                  }
          }
      if ($adminuser==false)
          {
              header('Location:'.$_SERVER['PHP_SELF'].'?login');
              exit;
          }
      $db=mysql_connect($mysql_host, $mysql_user, $mysql_password);
      mysql_select_db($mysql_db, $db);
      if (isset($_POST['insert']))
          {
              mysql_query("insert into $mysql_db_table (`feld1`,`feld2`) values ('".$_POST['feld1']."','".$_POST['feld2']."')",$db);
              header('Location:'.$_SERVER['PHP_SELF']);
          }
      elseif (isset($_POST['update']))
          {
              mysql_query("update $mysql_db_table set `feld1`='".$_POST['feld1']."', `feld2`='".$_POST['feld2']."' where `id`='".$_POST['id']."'",$db);
              header('Location:'.$_SERVER['PHP_SELF']);
          }
      elseif (!empty($_GET['delete']))
          {
              mysql_query("delete from $mysql_db_table where `id`='".$_GET['delete']."'",$db);
              header('Location:'.$_SERVER['PHP_SELF']);
          }
      elseif (!empty($_GET['edit']))
          {
              $results=mysql_query("select * from $mysql_db_table where `id`='".$_GET['edit']."'",$db);
              $result=mysql_fetch_assoc($results);
              echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'">';
              echo 'Feld 1:<input type="text" name="feld1" value="'.$result['feld1'].'"><br>';
              echo 'Feld 2:<input type="text" name="feld2" value="'.$result['feld2'].'"><br>';
              echo '<input type="hidden" name="id" value="'.$_GET['edit'].'">';
              echo '<input type="submit" name="update" value="Update">';
              echo '</form>';
          }
      else
          {
              echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'">';
              echo 'Feld 1:<input type="text" name="feld1"><br>';
              echo 'Feld 2:<input type="text" name="feld2"><br>';
              echo '<input type="submit" name="insert" value="Insert">';
              echo '</form>';
              echo '<table border="1">';
              echo '<tr><th>Feld1</th><th>Feld2</th><th colspan="2">Aktion</th></tr>';
              $results=mysql_query("select * from $mysql_db_table",$db);
              while ($result = mysql_fetch_assoc($results))
                  {
                      echo '<tr><td>'.$result['feld1'].'</td><td>'.$result['feld2'].'</td><td><a href="'.$_SERVER['PHP_SELF'].'"?edit='.$result['id'].'">Bearbeiten</a></td><td><a href="'.$_SERVER['PHP_SELF'].'"?delete='.$result['id'].'">Loeschen</a></td></tr>';
                  }
              echo '</table>';
          }
      mysql_close($db);
      ?>
```


----------



## HellGod (30. August 2006)

also mit bisschen basteln  hab ich  aus 

```
while ($result = mysql_fetch_assoc($results))
                  {
                      echo '<tr><td>'.$result['feld1'].'</td><td>'.$result['feld2'].'</td><td><a href="'.$_SERVER['PHP_SELF'].'"?edit='.$result['id'].'">Bearbeiten</a></td><td><a href="'.$_SERVER['PHP_SELF'].'"?delete='.$result['id'].'">Loeschen</a></td></tr>';
                  }
              echo '</table>';
```

das hier gemacht

```
while ($result = mysql_fetch_assoc($results))
                  {
                      echo '<tr><td>'.$result['feld1'].'</td><td>'.$result['feld2'].'</td><td><a href="'.$_SERVER['PHP_SELF'].'?edit='.$result['id'].'">Bearbeiten</a></td><td><a href="'.$_SERVER['PHP_SELF'].'?delete='.$result['id'].'">Loeschen</a></td></tr>';
                  }
              echo '</table>';
```

so komme ich wenigstens auf die bearbeiten seite was mich aber nicht groß weiterbringt 
	
	
	



```
-- 
-- Tabellenstruktur für Tabelle `test`
-- 

CREATE TABLE `test` (
  `id` int(5) NOT NULL auto_increment,
  `feld1` varchar(50) collate latin1_general_ci NOT NULL,
  `feld2` varchar(50) collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=12 ;

-- 
-- Daten für Tabelle `test`
-- 

INSERT INTO `test` VALUES (11, 'test', 'test');
```

Ich  kann nur Daten ein fügen  aber weder ändern noch löschen.

Wodran könnt das liegen ?


----------



## HellGod (31. August 2006)

keiner eine idee ?


----------



## Dennis Wronka (1. September 2006)

So, ich hab grad auch mal kurz den Fehler beseitigt der die Edit- und Delete-Links unnuetz macht und das ganze jetzt auch mal wirklich kurz getestet. Und bei mir funktioniert es einwandfrei. Ich kann Daten eintragen, loeschen und auch editieren.
Das einzige Problem waren halt die beiden " die mir bei der Erstellung der Links mit reingerutscht sind, aber das hast Du ja auch selbst bereits gefunden.

Hier also der ueberarbeitete Code, so wie er bei mir genau das tut was er auch soll:

```
<?php
if ((!empty($_SERVER['PHP_AUTH_USER'])) && ($_SERVER['PHP_AUTH_USER']=='myadminuser') && (!empty($_SERVER['PHP_AUTH_PW'])) && ($_SERVER['PHP_AUTH_PW']=='myadminpassword'))
	{
		$adminuser=true;
	}
else
	{
		$adminuser=false;
	}
if (isset($_GET['login']))
	{
		if ($adminuser==true)
			{
				header('Location:'.$_SERVER['PHP_SELF']);
				exit;
			}
		else
			{
				header('HTTP/1.1 401 Unauthorized');
				header('WWW-Authenticate:Basic');
				exit;
			}
	}
if ($adminuser==false)
	{
		header('Location:'.$_SERVER['PHP_SELF'].'?login');
		exit;
	}
$db=mysql_connect('mydbhost','mydbusername','mydbpassword');
mysql_select_db('mydatabase',$db);
if (isset($_POST['insert']))
	{
		mysql_query("insert into `mytable` (`feld1`,`feld2`) values ('".$_POST['feld1']."','".$_POST['feld2']."')",$db);
		header('Location:'.$_SERVER['PHP_SELF']);
	}
elseif (isset($_POST['update']))
	{
		mysql_query("update `mytable` set `feld1`='".$_POST['feld1']."', `feld2`='".$_POST['feld2']."' where `id`='".$_POST['id']."'",$db);
		header('Location:'.$_SERVER['PHP_SELF']);
	}
elseif (!empty($_GET['delete']))
	{
		mysql_query("delete from `mytable` where `id`='".$_GET['delete']."'",$db);
		header('Location:'.$_SERVER['PHP_SELF']);
	}
elseif (!empty($_GET['edit']))
	{
		$results=mysql_query("select * from `mytable` where `id`='".$_GET['edit']."'",$db);
		$result=mysql_fetch_assoc($results);
		echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'">';
		echo 'Feld 1:<input type="text" name="feld1" value="'.$result['feld1'].'"><br>';
		echo 'Feld 2:<input type="text" name="feld2" value="'.$result['feld2'].'"><br>';
		echo '<input type="hidden" name="id" value="'.$_GET['edit'].'">';
		echo '<input type="submit" name="update" value="Update">';
		echo '</form>';
	}
else
	{
		echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'">';
		echo 'Feld 1:<input type="text" name="feld1"><br>';
		echo 'Feld 2:<input type="text" name="feld2"><br>';
		echo '<input type="submit" name="insert" value="Insert">';
		echo '</form>';
		echo '<table border="1">';
		echo '<tr><th>Feld1</th><th>Feld2</th><th colspan="2">Aktion</th></tr>';
		$results=mysql_query("select * from `mytable`",$db);
		while ($result=mysql_fetch_assoc($results))
			{
				echo '<tr><td>'.$result['feld1'].'</td><td>'.$result['feld2'].'</td><td><a href="'.$_SERVER['PHP_SELF'].'?edit='.$result['id'].'">Bearbeiten</a></td><td><a href="'.$_SERVER['PHP_SELF'].'?delete='.$result['id'].'">Loeschen</a></td></tr>';
			}
		echo '</table>';
	}
mysql_close($db);
?>
```


----------



## HellGod (1. September 2006)

Ah Cool danke nun geht es wie es soll  ;o) 

Sorry das ich so oft in meinem Beitrag gepostet hab ;o)


----------



## HellGod (20. September 2006)

kann mir einer helfen ich suche für dieses kleine script eine funktion wie bei phpmyadmin.
da ist doch wenn man was löscht diese "sind sie sich sicher seite"  sowas würd ich gerne mit drin haben. 

wäre nett wenn mir da jemand hilft

Zusätzliches Problem ich würde das script gerne in eine andere Seite includen das bekomme ich auch soweit hin auch das dann der bearbeiten button und so noch geht. aber die ganzen insert button gehen nicht   bzw. er schickt mich dann auf die seite zurück die ich als Indexseite definiert habe. 

Weiß dazu einer eine Lösung ? wäre nett danke 


mfg


----------



## Michaelnocturne (22. September 2006)

Wenn dein Browser dich auf die Index-Seite wirft, ist der Link, auf die das Formular oder der Button zeigt, nicht existent.

Heisst: Irgendwo ein falscher Link, ums mal grob auszudrücken.


Am besten arbeitest du erstmal ein paar HTML Tutorials durch, dann ein paar PHP-Tutorials, damit du die Grundlagen drauf hast 

Btw:  Diese Abfrage: "Möchten Sie wirklich?" lässt sich mit 3 Zeilen Javascript realisieren 

Einfach mal erst suchen und sich selbst anstrengen, ansonsten ist es mehr oder weniger logisch, dass du Tage auf antworten wartest oder erst gar keien bekommst 
Ein bischen was muss man schon selbst tun *gg


----------



## HellGod (22. September 2006)

wenn ichs nicht include geht es ja nur wenn ichs in eine andere datei include wie z.B. die index.php   gehts nicht mehr 


und zu dem mit dem " sind sie sich sicher"  javascript wollte ich eben nicht weil das ja auch deaktiviert sein kann also  schlecht ... aber naja


----------



## Julian Maicher (22. September 2006)

Dann bau eine Zwischenseite, in der gefragt wird, ob man den Datensatz wirklich löschen will.

Wie liegt das Problem?


----------



## HellGod (23. September 2006)

wenn ichs könnte hätt ichs wohla kaum nötig hier zu fragen wie es geht ... oder ?


----------



## Online-Skater (23. September 2006)

Beherzige einfach *Michaelnocturne* seinen Tipp und schon wirst du die Lösung finden


----------



## HellGod (23. September 2006)

> Wenn dein Browser dich auf die Index-Seite wirft, ist der Link, auf die das Formular oder der Button zeigt, nicht existent.




wenn ich das ding nicht include dann gehts sobald ich es in eine andere seite include dann ist feierabend sagte ich schon 3 mal oder so aber ich merk schon wenn man hier mal eine hilfe sucht ist man der böse dumme der es nicht wert ist eine antwort zu bekommen die einem hilft sondern wird komisch angemacht und zugetextet. 

danke trotzdem


----------



## Online-Skater (24. September 2006)

Michaelnocturne hat gesagt.:
			
		

> Am besten arbeitest du erstmal ein paar HTML Tutorials durch, dann ein paar PHP-Tutorials, damit du die Grundlagen drauf hast
> 
> Btw:  Diese Abfrage: "Möchten Sie wirklich?" lässt sich mit 3 Zeilen Javascript realisieren
> 
> ...



Das meine ich damit, du bist doch nicht etwa einer von denen die hier nur alles schnell fertig machen wollen ohne sich ein Fingerchen krumm zu machen ?
Na also, dir wurde schon eine kompletter Code gegeben was nicht unbedingt üblich ist in diesem Forum...

Aber zu deiner Zwischenabfrage, dazu müsste man die globale Variable $_GET studieren und schon kommt ein PHP-übender Mensch auf die Idee, eine per Url zu schicken und abzufragen.

mfg


----------



## HellGod (25. September 2006)

haste mal eine gute seite wo ich mich gut schlau lesen kann ?


----------



## Online-Skater (25. September 2006)

Für dich z.B. http://tut.php-q.net/

mfg


----------



## mAu (25. September 2006)

Gibt auch ein Openbook bei Galileo Computing. Für Einsteiger bestimmt nicht uninteressant...


----------

