php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 15-05-2004, 16:45
manuelakersten
 Member
Links : Onlinestatus : manuelakersten ist offline
Registriert seit: Apr 2002
Beiträge: 379
manuelakersten ist zur Zeit noch ein unbeschriebenes Blatt
Standard DB über Form einlesen und in Form schreiben

Hallo Leute,

gibt es eigentlich eine bessere Methode als, wenn man aus einer DB infos auslesen möchte und diese in ein bestehendes Formular einfügen möchte, das komplette Formular doppelt bzw. mehrfach auf die Seite zu packen ( einmal für Eingabe und einmal für Ausgabe ) ?

Im Beispiel wird -> $firma ins Forumlar ausgegeben, jedoch sollen alle Felder später gefüllt werden.

PHP-Code:
<?
include "./head.php";
include(
"./inc/config.inc.php");
include(
"./inc/db_connect.inc.php");
?>
<br>
<tr>
 <td width="100%">
<?
if ($nummer == 'suchen') {
$sql "SELECT * FROM kunden WHERE kunde = '$kunde_neu'";
$res mysql_query($sql) or die(mysql_error());
$zeile =mysql_fetch_array($res);
$firma=$zeile["firma"];
$vorname=$zeile["vorname"];
$nachname=$zeile["nachname"];
$strasse=$zeile["strasse"];
$plz=$zeile["plz"];
$ort=$zeile["ort"];
$tel=$zeile["tel"];
$fax=$zeile["fax"];
$email=$zeile["email"];
?>

<br><br>
   <form name="kundennr" method="post">
  <div align="left">
   <table border="0" width="605">
    <tr>
      <td width="70" align="right">Knd.-Nr.</td>
      <td width="170"><input type="text" name="kunde_neu" size="26">
    </td>
      <td width="117"align="right">Rep.-Status.</td>
      <td width="188"><input type="text" name="T1" size="24"></td>
    </tr>
    <tr>
      <td width="70" align="right">Anrede</td>
      <td width="170"><input type="text" name="T1" size="29"></td>
      <td width="117" align="right">Interne Auftr. Nr.</td>
      <td width="188"><input type="text" name="T1" size="24"></td>
    </tr>
    <tr>
      <td width="70" align="right">Firma</td>
      <td width="170"><input type="text" name="T1" size="29" value="<? echo $firma?>"></td>
      <td width="117" align="right">Externe Auftr.-Nr.</td>
      <td width="188"><input type="text" name="T1" size="24"></td>
    </tr>
    <tr>
      <td width="70" align="right">Vorname</td>
      <td width="170"><input type="text" name="T1" size="29"></td>
      <td width="117" align="right">Rep.-Art</td>
      <td width="188"><input type="text" name="T1" size="24"></td>
    </tr>
    <tr>
      <td width="70" align="right">Nachname</td>
      <td width="170"><input type="text" name="T1" size="29"></td>
      <td width="117" align="right">Kaufdatum</td>
      <td width="188"><input type="text" name="T1" size="24"></td>
    </tr>
  (...)
<?
} else {
?>

  <br><br>
   <form name="kundennr" method="post">
  <div align="left">
   <table border="0" width="605">
    <tr>
      <td width="70" align="right">Knd.-Nr.</td>
      <td width="170"><input type="text" name="kunde_neu" size="26">
      <input type="hidden" name="nummer" value="suchen">
      <input type="submit" class="submit" name="absenden" value="?"></td>
      <td width="117"align="right">Rep.-Status.</td>
      <td width="188"><input type="text" name="T1" size="24"></td>
    </tr>
    <tr>
      <td width="70" align="right">Anrede</td>
      <td width="170"><input type="text" name="T1" size="29"></td>
      <td width="117" align="right">Interne Auftr. Nr.</td>
      <td width="188"><input type="text" name="T1" size="24"></td>
    </tr>
    <tr>
      <td width="70" align="right">Firma</td>
      <td width="170"><input type="text" name="T1" size="29" value="<? echo $firma?>"></td>
      <td width="117" align="right">Externe Auftr.-Nr.</td>
      <td width="188"><input type="text" name="T1" size="24"></td>
    </tr>
    <tr>
      <td width="70" align="right">Vorname</td>
      <td width="170"><input type="text" name="T1" size="29"></td>
      <td width="117" align="right">Rep.-Art</td>
      <td width="188"><input type="text" name="T1" size="24"></td>
    </tr>
    <tr>
      <td width="70" align="right">Nachname</td>
      <td width="170"><input type="text" name="T1" size="29"></td>
      <td width="117" align="right">Kaufdatum</td>
      <td width="188"><input type="text" name="T1" size="24"></td>
    </tr>
    (...)
<??>
und eine andere Frage, wenn ich eine Session für User über mehrere Seiten machen möchte, müsste ich eigentlich nur Passwort und Kundennummer ( als ID ) als Session registrieren
PHP-Code:
session_register("$kunde"); und session_register("$passwort"
und auf allen anderen Seiten -> session_start(); und eine DB-Abfrage
in einer IF/ELSE Schleife ob die Session-Daten mit denen in der DB übereinstimmt.

Liege ich da richtig ?

Danke und Gruss Ela
Mit Zitat antworten
  #2 (permalink)  
Alt 15-05-2004, 20:03
scriptingmike
 Junior Member
Links : Onlinestatus : scriptingmike ist offline
Registriert seit: Jul 2003
Ort: Bayern; near Munich
Beiträge: 80
scriptingmike ist zur Zeit noch ein unbeschriebenes Blatt
Standard ein und auslesen der daten aus ner db

falls es dir hilft, ich verwende:
PHP-Code:
//gehe mal davon aus das hier ein Resultat da ist
if (resultat)
{
echo 
"<table border=1><tr>";
// zum einlesen in array
$row my_sql_fetch_array(resultatMYSQL_ASSOC);
while (
$field key($row))
{
echo 
'<th>' ucwords($field) . '</th>';
next($row);
}
echo
"</tr><tr><td>";
echo 
implode (</td><td>",$row);
echo"
</td></tr>";
// auslesen und ausgeben des arrays
while ($row = mysql_fetch_array(resutat, MYSQL_ASSOC))
{
echo"
<tr><td>";
echo implode("
</td></tr>", $row);
echo"
</td></tr>";
}
echo "
</table>";
} else {
hier habe ich eine fehlerausgabe wenn kein resultat da is!
}
//schliesse dbverbindung 

Ich hoffe es hilft weiter

__________________
Ohne Probleme gibt es keine Entwicklung
Meine PHP-Bibel
Mit Zitat antworten
  #3 (permalink)  
Alt 16-05-2004, 11:15
manuelakersten
 Member
Links : Onlinestatus : manuelakersten ist offline
Registriert seit: Apr 2002
Beiträge: 379
manuelakersten ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mhhh das versteh ich nicht, vielleicht habe ich mich auch falsch ausgedrückt, hier mal ein kleines Beispiel.

Tabellenabfrage für den Eintrag Firma :
PHP-Code:
<?
if ($nummer == 'suchen') {
$sql "SELECT * FROM kunden WHERE kunde = '$kunde_neu'";
$res mysql_query($sql) or die(mysql_error());
$zeile =mysql_fetch_array($res);
$firma=$zeile["firma"];
?>
// Hier wird nach der DB-Abfrage der Inhalt '$firma' in die Eingabebox geschrieben
<table><tr>
 <td width="70" align="right">Firma</td>
 <td width="170"><input type="text" name="T1" size="29" value="<? echo $firma?>"></td>
</tr></table>
<? ?>
// Hier wird durch die Eingabe der Kundennummer die Firmendaten aus der DB gelesen und soll dann ausgegeben werden.
<form name="kundennr" method="post">
<table><tr>
      <td width="70" align="right">Knd.-Nr.</td>
      <td width="170"><input type="text" name="kunde_neu" size="26">
      <input type="hidden" name="nummer" value="suchen">
      <input type="submit" class="submit" name="absenden" value="?"></td>
</tr>
<tr>
  <td width="70" align="right">Firma</td>
  <td width="170"><input type="text" name="T1" size="29" value=""></td>
</tr></table>
(...)
</form>
Bsp. http://www.ebayauktionshaus.de/platen/eingabe.php
Bitte mal in die Kundennummer 123 eingeben und auf das Fragezeichen klicken, dann sollen die Kundendaten ausgelesen werden und die Rep.-Daten können dann eingegeben werden, ohne dass ich die ganzen Eingabefelder doppelt ausgeben muss einmal für die Eingabe und Einmal für die Ausgabe. Klar es ginge auch ,dass nur nach der Knd.-Nr. gefragt würde und dann erst diese Seite aufgerufen wird, aber das wäre nicht im Sinne des Erfinders. Ich hatte auch schon versucht eine Maske zu erstellen die dann individuell aufgerufen wird, hatte aber auch nicht geklappt.

Ich hoffe auf eine Hilfestellung auch was die Session angeht, ich habe gestern die ganze Nacht verbracht und dieses Froum durchsucht jedoch nichts wirklich brauchbares gefunden auch im Codeschnippsel das Usermanagment mir mal angeschaut und einige TUT's aber es klappt nicht.

In der Loginmaske müsste ja folgendes stehen :
PHP-Code:

 session_start
();
 
$username=$_SESSION["name"];
 
session_register('$username');
 
$password=$_SESSION["password"];
 
session_register('$password');
 echo
"<meta http-equiv=\"Refresh\" content=\"0 url=admin.php\">"
Wenn ich nun -> session_start(); in der Datei admin.php eingebe müsste ich doch mit
PHP-Code:
echo $username
und
PHP-Code:
echo $password 
die Ausgaben bekommen, jedoch wird nichts angezeigt, was mache ich falsch ?????

Gruss und Danke Ela
Mit Zitat antworten
  #4 (permalink)  
Alt 16-05-2004, 11:22
jochenj
 Senior Member
Links : Onlinestatus : jochenj ist offline
Registriert seit: Oct 2002
Ort: Maikammer
Beiträge: 546
jochenj ist zur Zeit noch ein unbeschriebenes Blatt
Standard

zu deiner $_SESSION['...'] frage: -> tausche mal die doppelten mit einfachen anführungszeichen aus.

zu deiner ebay-seite:

wenn ich das script richtig interpretier hast du dort zwei "submit" möglichkeiten: einmal suchen und das andere mal auftrag absenden.

dies kann man mit selbstreferenzierende scripte umsetzen und muss entsprechende kontrollstrukturen einbauen.

z.b. www.link.de?kontrollstruktur=wert

und entsprechnde dieser kontrollstruktur kannst du dann dein formular afbauen bzw. steueren ob daten ausgelesen und angezeigt werden oder in der datenbank abgeändert.

hoffe das hat dir weitergeholfen

Geändert von jochenj (16-05-2004 um 11:28 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 16-05-2004, 12:07
manuelakersten
 Member
Links : Onlinestatus : manuelakersten ist offline
Registriert seit: Apr 2002
Beiträge: 379
manuelakersten ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für Deine Hilfe, bezüglich den Cookies bekomme ich folgende
Fehlermeldung :
Zitat:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at http://www.ebayauktionshaus.de/platen/head.php:5) in /home/www/web157/html/platen/admin/admin2.php on line 13
In der Zeile 13 steht : session_star(); .
Muss ich eigentlich noch irgendwas anderes machen wie z.B. mit dem Link eine ID übertragen ( habe ich gelesen ) ?

Mit dem anderen ist es im Prizip wie ich es mir mit einer Maske gedacht hatte und ich mit allen Funktionen darauf zugreifen könnte - Oder ?

Aber wie mache ich das ? Denn ich kann ja mit einem Link auf diese Datei nicht alle Info's übertragen und noch dazu sagen was ich mit der Maske machen will ?

Danke gruss Ela
Mit Zitat antworten
  #6 (permalink)  
Alt 16-05-2004, 14:02
jochenj
 Senior Member
Links : Onlinestatus : jochenj ist offline
Registriert seit: Oct 2002
Ort: Maikammer
Beiträge: 546
jochenj ist zur Zeit noch ein unbeschriebenes Blatt
Standard

vor session start darf keine ausgabe an den browser erfolgen.

ausgaebn wären z.b. echo oder printbefehle, html etc. so wie es aussieht rufst du die funktion session-start() erst in zeile 13 auf. kontrolliere mal die ersten 12 zeilen und eventuell "include" dateien die zuvor stehen, ob eine ausgabe erzeugt wird.

die session id wird im regelfall automatisch an den link angehängt, brauchst ud somit nicht seperat zu machen.

wenn ich dich richtig verstanden haben, dann hast du ein leeres formular. der benutzer hat die möglichkeit, neue daten einzutrag bzw. vrhanden daten zu ändern -> in dem fall musst du deinem script eine gewisse art von inteligenz mitgeben, damit es selbst entscheidet was wann zu machen ist.

erster aufruff -> leere felder
eingaeb der id und betätigen des fragezeichens -> hohle daten aus der datenbank
benutzer hat diese daten geändert -> update
benutzer hat nue daten ohne fragezeichen eingetragen -> insert

momentan weis ich noch nicht, was du wirklich erreichen willst mit deinem script bzw. ob ich dich richtig verstehe, deshalb bin ich mir nicht sicher ob es richtig ist, was ich dir vorschlage
Mit Zitat antworten
  #7 (permalink)  
Alt 17-05-2004, 08:51
manuelakersten
 Member
Links : Onlinestatus : manuelakersten ist offline
Registriert seit: Apr 2002
Beiträge: 379
manuelakersten ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo jochenj,

danke für Deine Bemühungen mir zu helfen.
Das mit der Sessionklappt nicht wirklich, nun habe ich den session_start() in die erste Zeile gesetzt, jedoch wird mir der Inhalt der Variabel in der session nicht angezeigt.

index.php (loginmaske)
PHP-Code:
<?
session_start
();
include(
"../inc/config.inc.php");
include(
"../inc/db_connect.inc.php");
include(
$url."head.php");
?>
<br>
<tr>
 <td width="100%">
<?
if ($admin == 'login') {
$result mysql_query("SELECT * FROM admin");
$logindat mysql_fetch_array($result);
if (
$logindat[user]=="$name" && $logindat[passwort]=="$password") {


 
$username=$_SESSION['name'];
 
session_register('$username');
 
$password=$_SESSION['password'];
 
session_register('$password');
 echo
"<meta http-equiv=\"Refresh\" content=\"0 url=admin2.php\">";
(...)
?>
admin2.php [Adminmaske]
PHP-Code:
<?
session_start
();
include(
"../inc/config.inc.php");
include(
"../inc/db_connect.inc.php");
include(
$url."head.php");
?>
<br>
<tr>
 <td width="100%">
 <table border="0" class="text" cellspacing="4" align="center" width="250">
<tr>
 <td width="471" colspan="4">
<?
echo $username;
echo 
$password;
?>
</td>
</tr>
</table>
Eigentlich müsste doch nun über die session der username und das passwort ausgegeben werden !

Zur zweiten Sache :
Zitat:
erster aufruff -> leere felder
eingaeb der id und betätigen des fragezeichens -> hohle daten aus der datenbank
benutzer hat diese daten geändert -> update
benutzer hat nue daten ohne fragezeichen eingetragen -> insert
... richtig genau so möchte ich es machen und das geben der Inteligenz ( wie soll eine Frau einem Script inteligenz geben ? **grins**) gebe ich mit IF/ELSE Schleifen, dass heist ich sage wenn das Fragezeichen geklickt wurde und das Script soll mir die Daten aus der DB holen dann ist diese Schleife dafür verantwortlich.
PHP-Code:
if ($nummer == 'suchen') { (...) 
und nun kommen wir zum Problem ich müsste das Formular ja einmal im Script haben, wenn er mir das leere anzeigt und ich müsste es einmal haben mit dem Befehl
PHP-Code:
 value="<? echo $tel?>"
hinter jedem Eingabefeld aber diesmal innerhalb der if-Schleife. Wenn ich es nur innerhalb der Schleife einsetze, dann würde mir das Script beim ersten Aufruf nichts anzeigen. D.h. ich müsste die komplette Formularzeilen einmal für Datenausgabe, Dateneingabe und leeraufruf reinpacken. Ist kein Problem ob das Script nun 50 oder 250 Zeilen hat, jedoch versuche ich ja zu lernen und dachte mir es gäbe eine bessere Mehode.

Gruss und Danke Ela
Mit Zitat antworten
  #8 (permalink)  
Alt 17-05-2004, 10:56
Dummi
 Junior Member
Links : Onlinestatus : Dummi ist offline
Registriert seit: Mar 2003
Beiträge: 54
Dummi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Kuckmal ob du register_globals drin hast, ist nähmlich ab PHP4.. ausgestellt

dann musst du die Sessionvariablen so deklarieren

$_SESSION['userame'] = 'username'


und so auch wieder abrufen

$username = $_SESSION['username'];
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

jqPlot jQuery Plotting Plugin ansehen jqPlot jQuery Plotting Plugin

jqPlot ist ein plotting und charting plugin für das jQuery Javascript framework

06.11.2019 Berni | Kategorie: AJAX/ Framework
WYSIWYG Editor

WYSIWYG Editor zum Einbinden in PHP Scripte.

21.10.2019 Stephan_1972 | Kategorie: PHP/ WYSIWYG
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

10.10.2019 Stephan_1972 | Kategorie: PHP/ Bilder
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:13 Uhr.