Anfänger Probleme :(

Anfänger Probleme :(

am 11.06.2007 09:48:23 von Gina Meyer

Hallo ...

Würde gerne meine Tutorial-Datenbank (aus Kapitel 1 & 2 des unten stehenden
Links) via einer Form updaten.

http://www.dynamicwebpages.de/50.tutorials.php?dwp_tutorialI D=7&partNo=3

Ich habe den Code direkt von der Seite kopiert ... bekomme auch die Namen
als Links angezeigt ... - alles bestens soweit ...
nur wenn ich dann einen Namen anklicke passiert nix.

hatte schon Probleme mit Kapitel 2, wo ein INSERT via Form passieren sollte
.... konnte aber herausfinden woran es lag ... aber hier klappt das nicht ..
meine Kennntnisse sind zu gering !

Vielleicht kann mir jemand helfen, der die Seite kennt ....
oder - was ganz toll wäre - hat mir jemand einen Link zu nem anderen
Tutorial mit dem Thema ??

TIA
Gina

Re: Anfänger Probleme :(

am 11.06.2007 11:05:19 von Claus Reibenstein

Gina Meyer schrieb:

> Würde gerne meine Tutorial-Datenbank (aus Kapitel 1 & 2 des unten stehenden
> Links) via einer Form updaten.
>
> http://www.dynamicwebpages.de/50.tutorials.php?dwp_tutorialI D=7&partNo=3
>
> Ich habe den Code direkt von der Seite kopiert ... bekomme auch die Namen
> als Links angezeigt ... - alles bestens soweit ...
> nur wenn ich dann einen Namen anklicke passiert nix.

Also ich sehe auf dieser Seite nur einen einzigen Namen (Wolfgang
Drews), und wenn ich den anklicke, wird bei mir ein Mail-Fenster
geöffnet. Bei Dir nicht?

"Passiert nix" ist eine sehr vage Fehlerbeschreibung. Bekommst Du eine
Fehlermeldung? Hast Du Dein Error Reporting auf E_ALL gesetzt? Wie sieht
der entsprechende Code aus?

> hatte schon Probleme mit Kapitel 2

Ich lese dauernd "Kapitel"? Welche "Kapitel" denn?

> Vielleicht kann mir jemand helfen, der die Seite kennt ....

Welche Seite?

Du beschreibst Dein Problem irgendwie reichlich ungenau.

Gruß. Claus

Re: Anfänger Probleme :(

am 11.06.2007 11:53:38 von rkhbng

Gina Meyer schrieb:
> http://www.dynamicwebpages.de/50.tutorials.php?dwp_tutorialI D=7&partNo=3
>
> Ich habe den Code direkt von der Seite kopiert ... bekomme auch die
> Namen als Links angezeigt ... - alles bestens soweit ...
> nur wenn ich dann einen Namen anklicke passiert nix.

Nach einem kurzen Blick auf den Code möchte ich sagen, dass es an Deiner
Einstellung von register_globals in der php.ini hängt. Der Code klappt nur,
wenn

register_globals=off

ist (was allerdings ein riesiges Sicherheitsloch
darstellt).

> hatte schon Probleme mit Kapitel 2, wo ein INSERT via Form passieren
> sollte ... konnte aber herausfinden woran es lag ... aber hier klappt
> das nicht .. meine Kennntnisse sind zu gering !

Laut Link auf der Startseite handelt es sich um ein PHP3-Tutorial. Wenn Du
mit PHP4 oder PHP5 hantierst, dann wirst ständig auf unerklärliches
Verhalten stoßen.

> Vielleicht kann mir jemand helfen, der die Seite kennt ....
> oder - was ganz toll wäre - hat mir jemand einen Link zu nem anderen
> Tutorial mit dem Thema ??

Ich denke,

http://tut.php-q.net/

ist ganz gut geeignet, wenn Du tatsächlich Punkt für Punkt von Anfang an
durchgehst und nicht mittenrein springst.

viele grüße
ralph

Re: Anfänger Probleme :(

am 11.06.2007 11:58:08 von rkhbng

Ralph 'rkhb' Bauer schrieb:
> register_globals=off

Umgekehrt natürlich:

register_globals=on

Siehe:

http://www.php.net/manual/de/security.globals.php

viele grüße
ralph

Re: Anfänger Probleme :(

am 11.06.2007 13:27:13 von Gina Meyer

Hallo Claus
tja ...:) .... ich mach doch kein php Datenbank Tutorial um Herrn Drews ne
email zu senden

ist start tag ... vom Code
.... ein paar Zeilen tiefer ;)

ich glaube, daß das Tutorial einfach, wie Ralph in seiner Antwort sagte,
nicht für php5 ist und es einfach immer wieder zu Problemen kommen wird ...
leider ..

Gruß Gina


"Claus Reibenstein" <4spammersonly@web.de> schrieb im Newsbeitrag
news:5d4himF31hve5U1@mid.individual.net...
> Gina Meyer schrieb:
>
> > Würde gerne meine Tutorial-Datenbank (aus Kapitel 1 & 2 des unten
stehenden
> > Links) via einer Form updaten.
> >
> > http://www.dynamicwebpages.de/50.tutorials.php?dwp_tutorialI D=7&partNo=3
> >
> > Ich habe den Code direkt von der Seite kopiert ... bekomme auch die
Namen
> > als Links angezeigt ... - alles bestens soweit ...
> > nur wenn ich dann einen Namen anklicke passiert nix.
>
> Also ich sehe auf dieser Seite nur einen einzigen Namen (Wolfgang
> Drews), und wenn ich den anklicke, wird bei mir ein Mail-Fenster
> geöffnet. Bei Dir nicht?
>
> "Passiert nix" ist eine sehr vage Fehlerbeschreibung. Bekommst Du eine
> Fehlermeldung? Hast Du Dein Error Reporting auf E_ALL gesetzt? Wie sieht
> der entsprechende Code aus?
>
> > hatte schon Probleme mit Kapitel 2
>
> Ich lese dauernd "Kapitel"? Welche "Kapitel" denn?
>
> > Vielleicht kann mir jemand helfen, der die Seite kennt ....
>
> Welche Seite?
>
> Du beschreibst Dein Problem irgendwie reichlich ungenau.
>
> Gruß. Claus

Re: Anfänger Probleme :(

am 11.06.2007 13:29:39 von Gina Meyer

Hallo Ralph ...

danke für Deine Tips und Links ....

werde mich wohl oder übel von diesem Tutorial verabschieden müssen ... da
php5 ...
und Deinem Vorschlag/Link folgen :)

Gruß Gina

"Ralph 'rkhb' Bauer" schrieb im Newsbeitrag
news:f4j635$d7c$01$1@news.t-online.com...
> Gina Meyer schrieb:
> > http://www.dynamicwebpages.de/50.tutorials.php?dwp_tutorialI D=7&partNo=3
> >
> > Ich habe den Code direkt von der Seite kopiert ... bekomme auch die
> > Namen als Links angezeigt ... - alles bestens soweit ...
> > nur wenn ich dann einen Namen anklicke passiert nix.
>
> Nach einem kurzen Blick auf den Code möchte ich sagen, dass es an Deiner
> Einstellung von register_globals in der php.ini hängt. Der Code klappt
nur,
> wenn
>
> register_globals=off
>
> ist (was allerdings ein riesiges Sicherheitsloch
> darstellt).
>
> > hatte schon Probleme mit Kapitel 2, wo ein INSERT via Form passieren
> > sollte ... konnte aber herausfinden woran es lag ... aber hier klappt
> > das nicht .. meine Kennntnisse sind zu gering !
>
> Laut Link auf der Startseite handelt es sich um ein PHP3-Tutorial. Wenn Du
> mit PHP4 oder PHP5 hantierst, dann wirst ständig auf unerklärliches
> Verhalten stoßen.
>
> > Vielleicht kann mir jemand helfen, der die Seite kennt ....
> > oder - was ganz toll wäre - hat mir jemand einen Link zu nem anderen
> > Tutorial mit dem Thema ??
>
> Ich denke,
>
> http://tut.php-q.net/
>
> ist ganz gut geeignet, wenn Du tatsächlich Punkt für Punkt von Anfang an
> durchgehst und nicht mittenrein springst.
>
> viele grüße
> ralph
>

Re: Anfänger Probleme :(

am 11.06.2007 13:41:35 von Joerg Behrens

Gina Meyer schrieb:
> Hallo Ralph ...
>
> danke für Deine Tips und Links ....
>
> werde mich wohl oder übel von diesem Tutorial verabschieden müssen ... da
> php5 ...
> und Deinem Vorschlag/Link folgen :)

Also wenn man verstanden hat was es mit register_globals auf sich hatte
und das man in dem Script die $_SERVER/$_POST benutzt anstelle von
$_PHP_SELF und $foobar, dann ist das in wenigen Minuten umgeschrieben.

Etwas laenger wuerde es dauern die Validierung der Variablen, welche
verarbeitet werden muessen, nachzupflegen und die XSS/SQL Injektion
Anfaelligkeit zu entfernen.


Gruss
Joerg

--
TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
HRB Wuerzburg 6940 http://www.takenet.de

Re: Anfänger Probleme :(

am 11.06.2007 14:41:49 von Gina Meyer

Hallo Joerg

habe jetzt die *register_globals=on* ist aber nach wie vor das selbe
Problem.

Eine id wird korrekt angezeigt ! (übergeben ? ... weiss ich nicht ), wenn
man auf die von der Datenbank kommenden Namen klickt..
so wie ich das verstehe, soll ja anhand der id der Datensatz ausgewählt und
in der Form angezeigt werden ... zum update

Sorry ... aber da ich Anfänger bin, weiß ich leider nichts mit Deiner
bestimmt tollen zusätzlichen Info anzufangen :(

wie würdest Du die *Variablen nachpflegen* ...
zeiges mir mal bei einer bitte ... gesetzt den Fall das geht :)

Gruß Gina

"Joerg Behrens" schrieb im Newsbeitrag
news:5d4qnhF32qkoiU1@mid.individual.net...
> Gina Meyer schrieb:
> > Hallo Ralph ...
> >
> > danke für Deine Tips und Links ....
> >
> > werde mich wohl oder übel von diesem Tutorial verabschieden müssen ...
da
> > php5 ...
> > und Deinem Vorschlag/Link folgen :)
>
> Also wenn man verstanden hat was es mit register_globals auf sich hatte
> und das man in dem Script die $_SERVER/$_POST benutzt anstelle von
> $_PHP_SELF und $foobar, dann ist das in wenigen Minuten umgeschrieben.
>
> Etwas laenger wuerde es dauern die Validierung der Variablen, welche
> verarbeitet werden muessen, nachzupflegen und die XSS/SQL Injektion
> Anfaelligkeit zu entfernen.
>
>
> Gruss
> Joerg
>
> --
> TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
> 97080 Wuerzburg Tel: +49 931 903-2243
> Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
> HRB Wuerzburg 6940 http://www.takenet.de

Re: Anfänger Probleme :(

am 11.06.2007 17:24:12 von Joerg Behrens

Gina Meyer schrieb:
> Hallo Joerg
>
> habe jetzt die *register_globals=on* ist aber nach wie vor das selbe
> Problem.

Server neu gestartet und mit phpinfo(); geguckt? Aber eigentlich WILLST
du das nicht auf ON stellen sondern so programmieren das die Einstellung
des Servers egal ist.

Mach doch einfach mal am Scriptanfang ein
error_reporting(E_ALL);
.....

Wenn da noch nichs kommt gucken ob display_error = ON ist.

> Eine id wird korrekt angezeigt ! (übergeben ? ... weiss ich nicht ), wenn
> man auf die von der Datenbank kommenden Namen klickt..

var_dump($_POST);

> so wie ich das verstehe, soll ja anhand der id der Datensatz ausgewählt und
> in der Form angezeigt werden ... zum update
>
> Sorry ... aber da ich Anfänger bin, weiß ich leider nichts mit Deiner
> bestimmt tollen zusätzlichen Info anzufangen :(
>
> wie würdest Du die *Variablen nachpflegen* ...
> zeiges mir mal bei einer bitte ... gesetzt den Fall das geht :)

if(isset($_POST['id']) && is_valid_id($_POST['id'])){
$data_id = $_POST['id'];
} else {
// Keine gueltige ID, was tun nun.. abbrechen!
echo 'Keine gueltige ID';
die()
}

Die Funktion is_valid_data_id() liefert entsprechend TRUE oder FALSE
zurueck. Was genau du da pruefst haengt vom Einzelfall ab. Bei einer ID
waere es z.b Sinnvoll auf ctype_digit() zupruefen.

Gruss
Joerg

--
TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
HRB Wuerzburg 6940 http://www.takenet.de

Re: Anfänger Probleme :(

am 11.06.2007 17:47:39 von Gina Meyer

Nee .. hatte den Server nicht neu gestartet ... aber wie Du ja sagtest ...
eigentlich soll der Code stimmen ..
als Neuling ist es halt nicht so einfach ... die einfachsten Dinge mein ich
:)

also ... hey ... erst mal danke!!! für Deine tolle Hilfe ...
hab also alles so geändert und bekomme nun folgendes, wenn ich die Seite
refreshe:

Notice: Undefined variable: PHP_SELF in
E:\xampplite\htdocs\ginaTest\dbform-update.php on line 67

und das ist line 67:

printf("
\n", $PHP_SELF, $myrow["id"],
$myrow["name"], $myrow["vorname"]);

.... also wird die id überhaupt nicht übergeben und es kommt garnicht erst
zur id Überprüfung ?




"Joerg Behrens" schrieb im Newsbeitrag
news:5d57ouF327k0nU1@mid.individual.net...
> Gina Meyer schrieb:
> > Hallo Joerg
> >
> > habe jetzt die *register_globals=on* ist aber nach wie vor das selbe
> > Problem.
>
> Server neu gestartet und mit phpinfo(); geguckt? Aber eigentlich WILLST
> du das nicht auf ON stellen sondern so programmieren das die Einstellung
> des Servers egal ist.
>
> Mach doch einfach mal am Scriptanfang ein
> > error_reporting(E_ALL);
> ....
>
> Wenn da noch nichs kommt gucken ob display_error = ON ist.
>
> > Eine id wird korrekt angezeigt ! (übergeben ? ... weiss ich nicht ),
wenn
> > man auf die von der Datenbank kommenden Namen klickt..
>
> var_dump($_POST);
>
> > so wie ich das verstehe, soll ja anhand der id der Datensatz ausgewählt
und
> > in der Form angezeigt werden ... zum update
> >
> > Sorry ... aber da ich Anfänger bin, weiß ich leider nichts mit Deiner
> > bestimmt tollen zusätzlichen Info anzufangen :(
> >
> > wie würdest Du die *Variablen nachpflegen* ...
> > zeiges mir mal bei einer bitte ... gesetzt den Fall das geht :)
>
> if(isset($_POST['id']) && is_valid_id($_POST['id'])){
> $data_id = $_POST['id'];
> } else {
> // Keine gueltige ID, was tun nun.. abbrechen!
> echo 'Keine gueltige ID';
> die()
> }
>
> Die Funktion is_valid_data_id() liefert entsprechend TRUE oder FALSE
> zurueck. Was genau du da pruefst haengt vom Einzelfall ab. Bei einer ID
> waere es z.b Sinnvoll auf ctype_digit() zupruefen.
>
> Gruss
> Joerg
>
> --
> TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
> 97080 Wuerzburg Tel: +49 931 903-2243
> Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
> HRB Wuerzburg 6940 http://www.takenet.de

Re: Anfänger Probleme :(

am 11.06.2007 18:05:44 von Joerg Behrens

Gina Meyer schrieb:
> Nee .. hatte den Server nicht neu gestartet ... aber wie Du ja sagtest ...
> eigentlich soll der Code stimmen ..
> als Neuling ist es halt nicht so einfach ... die einfachsten Dinge mein ich
> :)
>
> also ... hey ... erst mal danke!!! für Deine tolle Hilfe ...
> hab also alles so geändert und bekomme nun folgendes, wenn ich die Seite
> refreshe:
>
> Notice: Undefined variable: PHP_SELF in
> E:\xampplite\htdocs\ginaTest\dbform-update.php on line 67


Nur wenn register_globals=on ist wuerde $PHP_SELF existieren. Der
richtige Name der Variable ist $_SERVER['PHP_SELF'] .


> und das ist line 67:
>
> printf("
\n", $PHP_SELF, $myrow["id"],
> $myrow["name"], $myrow["vorname"]);
>
> ... also wird die id überhaupt nicht übergeben und es kommt garnicht erst
> zur id Überprüfung ?

In der printf() Zeile werden ja die in der DB vorhanden Eintraege
ausgelesen und dargestellt. Das sind also Werte aus der DB und die
Variablen selver sind definitiv erstmal vorhanden.... die Frage ob
einige davon evtl. leer sind. Das haengt aber davon ab ob es moeglich
ist ueber das Formular leere Inhalte in die DB zuschreiben. Der jetzige
Code wuerde das zulassen. Bei der 'id' kann allerdings man sagen das
diese eine Sequence der Datenbank sein wird.. im Falle von MySQL also
eine AutoInkrementspalte.

Wenn du dann auf den Hyperlink klickst schau halt mal in die
Browserstatuszeile oder in den generieren HTML Code wie der aussieht.

Da du die Variablen in diesem Falle ueber die URL leitest landen sie auf
der "naechsten" Seite in $_GET (mach dann mal ein var_dump($_GET).

Wenn du Variablen aus verschiedenen Quellen erwartest empfiehlt sich mal
ein Blick auf $_REQUEST zuverwerfen.

Schau die doch mal im Manual die Superglobal $_* Arrays an bzw. lass sie
die Mal ausgeben damit du weist was wann wo drin steht. Gerade $_SERVER
hat man ja nicht immer total im Kopf.

Gruss
Joerg

--
TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
HRB Wuerzburg 6940 http://www.takenet.de

Re: Anfänger Probleme :(

am 11.06.2007 18:22:15 von Gina Meyer

>
> Nur wenn register_globals=on ist wuerde $PHP_SELF existieren. Der
> richtige Name der Variable ist $_SERVER['PHP_SELF'] .
>
---------------
habe register_globals=off und server neu gestartet

>
> > und das ist line 67:
> >
> > printf("
\n", $PHP_SELF,
$myrow["id"],
> > $myrow["name"], $myrow["vorname"]);
> >
> > ... also wird die id überhaupt nicht übergeben und es kommt garnicht
erst
> > zur id Überprüfung ?
>
> In der printf() Zeile werden ja die in der DB vorhanden Eintraege
> ausgelesen und dargestellt. Das sind also Werte aus der DB und die
> Variablen selver sind definitiv erstmal vorhanden.... die Frage ob
> einige davon evtl. leer sind. Das haengt aber davon ab ob es moeglich
> ist ueber das Formular leere Inhalte in die DB zuschreiben. Der jetzige
> Code wuerde das zulassen. Bei der 'id' kann allerdings man sagen das
> diese eine Sequence der Datenbank sein wird.. im Falle von MySQL also
> eine AutoInkrementspalte.

--------------
genau ... alle Variablen sind da und haben auch einen entsprechenden Wert

>
> Wenn du dann auf den Hyperlink klickst schau halt mal in die
> Browserstatuszeile oder in den generieren HTML Code wie der aussieht.

--------------
http://localhost/ginatest/dbform-update.php?id=1 .... wenn ich auf den
ersten klicke
etc .... also daran habe ich gesehn daß da was ist ... also in URL und
Statuszeile ist id
entsprechend 1 oder 2 oder je nachdem welchen ich anklicke

>
> Da du die Variablen in diesem Falle ueber die URL leitest landen sie auf
> der "naechsten" Seite in $_GET (mach dann mal ein var_dump($_GET).
>
> Wenn du Variablen aus verschiedenen Quellen erwartest empfiehlt sich mal
> ein Blick auf $_REQUEST zuverwerfen.

------------------
habe in meiner Testdb lediglich 1 Tabelle mit 7 Testreihen (und die Namen
werden ja ausgegeben)
also mit verschiedenen Quellen meinst Du verschiedene Tabellen ? in dem Fall
also nein nur eine Tabelle
>
> Schau die doch mal im Manual die Superglobal $_* Arrays an bzw. lass sie
> die Mal ausgeben damit du weist was wann wo drin steht. Gerade $_SERVER
> hat man ja nicht immer total im Kopf.

--------------------
wie / wo komm ich an das Manual ??

Gruß Gina

>
> Gruss
> Joerg
>
> --
> TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
> 97080 Wuerzburg Tel: +49 931 903-2243
> Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
> HRB Wuerzburg 6940 http://www.takenet.de

Re: Anfänger Probleme :(

am 11.06.2007 18:24:51 von Gina Meyer

ahh ... hab was vergessen ...

es wird erst gar keine Form angezeigt ... nur die Links .. und wenn ich
darauf klicke kommt eben keine Form ....
also ... wird der erste if part garnicht ausgeführt und erzeugt also auch
keine Form



"Joerg Behrens" schrieb im Newsbeitrag
news:5d5a6qF32qco2U1@mid.individual.net...
> Gina Meyer schrieb:
> > Nee .. hatte den Server nicht neu gestartet ... aber wie Du ja sagtest
....
> > eigentlich soll der Code stimmen ..
> > als Neuling ist es halt nicht so einfach ... die einfachsten Dinge mein
ich
> > :)
> >
> > also ... hey ... erst mal danke!!! für Deine tolle Hilfe ...
> > hab also alles so geändert und bekomme nun folgendes, wenn ich die Seite
> > refreshe:
> >
> > Notice: Undefined variable: PHP_SELF in
> > E:\xampplite\htdocs\ginaTest\dbform-update.php on line 67
>
>
> Nur wenn register_globals=on ist wuerde $PHP_SELF existieren. Der
> richtige Name der Variable ist $_SERVER['PHP_SELF'] .
>
>
> > und das ist line 67:
> >
> > printf("
\n", $PHP_SELF,
$myrow["id"],
> > $myrow["name"], $myrow["vorname"]);
> >
> > ... also wird die id überhaupt nicht übergeben und es kommt garnicht
erst
> > zur id Überprüfung ?
>
> In der printf() Zeile werden ja die in der DB vorhanden Eintraege
> ausgelesen und dargestellt. Das sind also Werte aus der DB und die
> Variablen selver sind definitiv erstmal vorhanden.... die Frage ob
> einige davon evtl. leer sind. Das haengt aber davon ab ob es moeglich
> ist ueber das Formular leere Inhalte in die DB zuschreiben. Der jetzige
> Code wuerde das zulassen. Bei der 'id' kann allerdings man sagen das
> diese eine Sequence der Datenbank sein wird.. im Falle von MySQL also
> eine AutoInkrementspalte.
>
> Wenn du dann auf den Hyperlink klickst schau halt mal in die
> Browserstatuszeile oder in den generieren HTML Code wie der aussieht.
>
> Da du die Variablen in diesem Falle ueber die URL leitest landen sie auf
> der "naechsten" Seite in $_GET (mach dann mal ein var_dump($_GET).
>
> Wenn du Variablen aus verschiedenen Quellen erwartest empfiehlt sich mal
> ein Blick auf $_REQUEST zuverwerfen.
>
> Schau die doch mal im Manual die Superglobal $_* Arrays an bzw. lass sie
> die Mal ausgeben damit du weist was wann wo drin steht. Gerade $_SERVER
> hat man ja nicht immer total im Kopf.
>
> Gruss
> Joerg
>
> --
> TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
> 97080 Wuerzburg Tel: +49 931 903-2243
> Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
> HRB Wuerzburg 6940 http://www.takenet.de

Re: Anfänger Probleme :(

am 11.06.2007 18:56:02 von rkhbng

Gina Meyer schrieb:
> Notice: Undefined variable: PHP_SELF in
> E:\xampplite\htdocs\ginaTest\dbform-update.php on line 67

In XAMPP gibt es mehrere PHP.INI, wobei nur eine die tatsächlich richtige
ist. Es scheint, als hättest Du die falsche erwischt. Erstelle mal eine
Datei phpinfo.php, in der lediglich diese drei Zeilen stehen:

phpinfo()
?>

Nun rufst Du phpinfo.php im Browser auf. Neben "Configuration File (php.ini)
Path" siehst Du, welche php.ini die richtige ist und neben
"register_globals" siehst Du di aktuellen Einstellungen. Die Datei
phpinfo.php wird Dir beim weiteren Arbeiten mit PHP noch richtig ans Herz
wachsen.

> und das ist line 67:
>
> printf("
\n", $PHP_SELF,
> $myrow["id"], $myrow["name"], $myrow["vorname"]);
>
> ... also wird die id überhaupt nicht übergeben und es kommt garnicht
> erst zur id Überprüfung ?

Was genau an den Browser geschickt wurde, kannst Du mit

Rechtsklick
Quelltext anzeigen (oder ähnlich)

erfahren. Es wird wohl etwa so aussehen:




Damit weiß der Browser nicht mehr, wo es hingeht. Du kannst im Browser
Fehlermeldungen anschalten, z.B. im IE6:

Extras
Internetoptionen
Erweitert
[x] Skriptfehler anzeigen
OK
IE6 neu starten

Oder Firefox 2.0.0.4:

Extras
Fehler-Konsole

Welchen Browser benutzt Du?

viele grüße
ralph

Re: Anfänger Probleme :(

am 11.06.2007 19:13:49 von Gina Meyer

Hallo Ralph ...

Danke für Deine Antwort

>
> In XAMPP gibt es mehrere PHP.INI, wobei nur eine die tatsächlich richtige
> ist. Es scheint, als hättest Du die falsche erwischt. Erstelle mal eine
> Datei phpinfo.php, in der lediglich diese drei Zeilen stehen:
>
> > phpinfo()
> ?>
>
> Nun rufst Du phpinfo.php im Browser auf. Neben "Configuration File
(php.ini)
> Path" siehst Du, welche php.ini die richtige ist und neben
> "register_globals" siehst Du di aktuellen Einstellungen. Die Datei
> phpinfo.php wird Dir beim weiteren Arbeiten mit PHP noch richtig ans Herz
> wachsen.

-----------------
... danke ... hab jetzt ne phpinfo.php :) und ... ja .. ich hab die falsche
erwischt ...
so in der 'richtigen' also steht auch register_globals = Off ....

aber, dachte so soll es auch sein ??? ...
In Kapitel 2 des Tutorials habe ich eine Form, mit der man neue Daten
erstellen kann und in der DB eintragen

und die werden auch via $PHP_SELF gehandlet .... sodaß dies ja nicht der
Fehler hier sein kann ??

>
> > und das ist line 67:
> >
> > printf("
\n", $PHP_SELF,
> > $myrow["id"], $myrow["name"], $myrow["vorname"]);
> >
> > ... also wird die id überhaupt nicht übergeben und es kommt garnicht
> > erst zur id Überprüfung ?

---------------------
habe mal in den 1. else part zum Test

var_dump($_POST);
var_dump($_GET);

und bekomme nach einem Refresh in Firefox
unter den 7 Links mit den vornamen & nachnamen

array(0) { } array(1) { ["id"]=> string(1) "2" } ... wenn ich auf den 2.
Namen klicke

habe die Fehler Konsole angeschaltet ... aber weder Warnung noch Fehler
erscheint hier beim Klicken

.... und so sieht die Seite aus ... bevor und nachdem ich auf einen Link
geklickt habe .... die id änderst sich ;) ... is ja toll
--------------------------------------------------
Meyer Gina
Shaghouei Ebbi
Hoffmann Benny
test test
test test
Noni Noni
Noni Noni
array(0) { } array(1) { ["id"]=> string(1) "2" }
--------------------------------------------------
>
> Was genau an den Browser geschickt wurde, kannst Du mit
>
> Rechtsklick
> Quelltext anzeigen (oder ähnlich)
>
> erfahren. Es wird wohl etwa so aussehen:
>
>

>
> Damit weiß der Browser nicht mehr, wo es hingeht. Du kannst im Browser
> Fehlermeldungen anschalten, z.B. im IE6:
>
> Extras
> Internetoptionen
> Erweitert
> [x] Skriptfehler anzeigen
> OK
> IE6 neu starten
>
> Oder Firefox 2.0.0.4:
>
> Extras
> Fehler-Konsole
>
> Welchen Browser benutzt Du?
>
> viele grüße
> ralph
>

Re: Anfänger Probleme :(

am 11.06.2007 19:25:11 von Joerg Behrens

Gina Meyer schrieb:
>> Nur wenn register_globals=on ist wuerde $PHP_SELF existieren. Der
>> richtige Name der Variable ist $_SERVER['PHP_SELF'] .
>>
> ---------------
> habe register_globals=off und server neu gestartet

Immer phpinfo() angucken obs nun auch so ist wie man es meinte gemacht
zuhaben :)


>>> und das ist line 67:
>>>
>>> printf("
\n", $PHP_SELF,
> $myrow["id"],
>>> $myrow["name"], $myrow["vorname"]);
>>>
>>> ... also wird die id überhaupt nicht übergeben und es kommt garnicht
> erst
>>> zur id Überprüfung ?




>> In der printf() Zeile werden ja die in der DB vorhanden Eintraege
>> ausgelesen und dargestellt. Das sind also Werte aus der DB und die
>> Variablen selver sind definitiv erstmal vorhanden.... die Frage ob
>> einige davon evtl. leer sind. Das haengt aber davon ab ob es moeglich
>> ist ueber das Formular leere Inhalte in die DB zuschreiben. Der jetzige
>> Code wuerde das zulassen. Bei der 'id' kann allerdings man sagen das
>> diese eine Sequence der Datenbank sein wird.. im Falle von MySQL also
>> eine AutoInkrementspalte.
>
> --------------
> genau ... alle Variablen sind da und haben auch einen entsprechenden Wert
>
>> Wenn du dann auf den Hyperlink klickst schau halt mal in die
>> Browserstatuszeile oder in den generieren HTML Code wie der aussieht.
>
> --------------
> http://localhost/ginatest/dbform-update.php?id=1 .... wenn ich auf den
> ersten klicke
> etc .... also daran habe ich gesehn daß da was ist ... also in URL und
> Statuszeile ist id
> entsprechend 1 oder 2 oder je nachdem welchen ich anklicke
>
>> Da du die Variablen in diesem Falle ueber die URL leitest landen sie auf
>> der "naechsten" Seite in $_GET (mach dann mal ein var_dump($_GET).
>>
>> Wenn du Variablen aus verschiedenen Quellen erwartest empfiehlt sich mal
>> ein Blick auf $_REQUEST zuverwerfen.
>
> ------------------
> habe in meiner Testdb lediglich 1 Tabelle mit 7 Testreihen (und die Namen
> werden ja ausgegeben)
> also mit verschiedenen Quellen meinst Du verschiedene Tabellen ? in dem Fall
> also nein nur eine Tabelle

Nein ich meinte keine Tabellen....

11.1. Wie übergebe ich Variablen aus einem Formular an ein PHP-Script?
http://www.php-faq.de/q/q-formular-variablen.html


Wenn ich Daten aus einem Post-Formular erwarte dann ist es Sinnvoll
diese in $_POST zusuchen und nicht wo anders.

>> Schau die doch mal im Manual die Superglobal $_* Arrays an bzw. lass sie
>> die Mal ausgeben damit du weist was wann wo drin steht. Gerade $_SERVER
>> hat man ja nicht immer total im Kopf.

6.1. Welche Variablenarten gibt es in PHP und wie greife ich auf sie zu?
http://www.php-faq.de/q/q-php-variablen.html

> --------------------
> wie / wo komm ich an das Manual ??

Unter www.php-faq.de findest du nicht nicht mehr aktualsierte FAQ dieser
Newsgroup. Das offiziele Manual zu php gibts unter

http://www.php.net/docs.php

mit

http://www.php.net/funktionsname kommt man schnell zum Ziel wenn man
weis was man sucht.

Gruss
Joerg

--
TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
HRB Wuerzburg 6940 http://www.takenet.de

Re: Anfänger Probleme :(

am 11.06.2007 19:37:53 von Gina Meyer

"Joerg Behrens" schrieb im Newsbeitrag
news:5d5errF32eabkU1@mid.individual.net...
> Gina Meyer schrieb:
> >> Nur wenn register_globals=on ist wuerde $PHP_SELF existieren. Der
> >> richtige Name der Variable ist $_SERVER['PHP_SELF'] .
> >>
> > ---------------
> > habe register_globals=off und server neu gestartet
>
> Immer phpinfo() angucken obs nun auch so ist wie man es meinte gemacht
> zuhaben :)

hab jetzt die phpinfo .... :) ...und ist auf off
>
>
> >>> und das ist line 67:
> >>>
> >>> printf("
\n", $PHP_SELF,
> > $myrow["id"],
> >>> $myrow["name"], $myrow["vorname"]);
> >>>
> >>> ... also wird die id überhaupt nicht übergeben und es kommt garnicht
> > erst
> >>> zur id Überprüfung ?
>
>
>
>
> >> In der printf() Zeile werden ja die in der DB vorhanden Eintraege
> >> ausgelesen und dargestellt. Das sind also Werte aus der DB und die
> >> Variablen selver sind definitiv erstmal vorhanden.... die Frage ob
> >> einige davon evtl. leer sind. Das haengt aber davon ab ob es moeglich
> >> ist ueber das Formular leere Inhalte in die DB zuschreiben. Der jetzige
> >> Code wuerde das zulassen. Bei der 'id' kann allerdings man sagen das
> >> diese eine Sequence der Datenbank sein wird.. im Falle von MySQL also
> >> eine AutoInkrementspalte.
> >
> > --------------
> > genau ... alle Variablen sind da und haben auch einen entsprechenden
Wert
> >
> >> Wenn du dann auf den Hyperlink klickst schau halt mal in die
> >> Browserstatuszeile oder in den generieren HTML Code wie der aussieht.
> >
> > --------------
> > http://localhost/ginatest/dbform-update.php?id=1 .... wenn ich auf den
> > ersten klicke
> > etc .... also daran habe ich gesehn daß da was ist ... also in URL und
> > Statuszeile ist id
> > entsprechend 1 oder 2 oder je nachdem welchen ich anklicke
> >
> >> Da du die Variablen in diesem Falle ueber die URL leitest landen sie
auf
> >> der "naechsten" Seite in $_GET (mach dann mal ein var_dump($_GET).
> >>
> >> Wenn du Variablen aus verschiedenen Quellen erwartest empfiehlt sich
mal
> >> ein Blick auf $_REQUEST zuverwerfen.
> >
> > ------------------
> > habe in meiner Testdb lediglich 1 Tabelle mit 7 Testreihen (und die
Namen
> > werden ja ausgegeben)
> > also mit verschiedenen Quellen meinst Du verschiedene Tabellen ? in dem
Fall
> > also nein nur eine Tabelle
>
> Nein ich meinte keine Tabellen....
>
> 11.1. Wie übergebe ich Variablen aus einem Formular an ein PHP-Script?
> http://www.php-faq.de/q/q-formular-variablen.html
>
>
> Wenn ich Daten aus einem Post-Formular erwarte dann ist es Sinnvoll
> diese in $_POST zusuchen und nicht wo anders.
>
> >> Schau die doch mal im Manual die Superglobal $_* Arrays an bzw. lass
sie
> >> die Mal ausgeben damit du weist was wann wo drin steht. Gerade $_SERVER
> >> hat man ja nicht immer total im Kopf.
>
> 6.1. Welche Variablenarten gibt es in PHP und wie greife ich auf sie zu?
> http://www.php-faq.de/q/q-php-variablen.html
>
> > --------------------
> > wie / wo komm ich an das Manual ??
>
> Unter www.php-faq.de findest du nicht nicht mehr aktualsierte FAQ dieser
> Newsgroup. Das offiziele Manual zu php gibts unter
>
> http://www.php.net/docs.php
>
> mit
>
> http://www.php.net/funktionsname kommt man schnell zum Ziel wenn man
> weis was man sucht.
>

:) ... danke Dir ... klasse ... hab jetzt jede Menge Material zum
Durchstöbern ...

hab mich da an dem Ding etwas festgebissen ... aber ich denke /hoffe, dass
wenn das Problem einmal gelöst ist .. die Lösung auch auf folgende
DB-Kapitel zutreffen könnte ... habe einfach sonst kein Tutorial in der Art
gefunden .. das andere ist mehr ne Reference Site und macht absolut keinen
Spaß sich da durchzuarbeiten ....

Gruß ... und Danke Dir !

Gina :)

> Gruss
> Joerg
>
> --
> TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
> 97080 Wuerzburg Tel: +49 931 903-2243
> Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
> HRB Wuerzburg 6940 http://www.takenet.de

Re: Anfänger Probleme :( - Hurra :)

am 11.06.2007 20:11:24 von Gina Meyer

hey ... es klappt ...

nachdem ich - back to the basics :) ... wieder

if ($id) {
....
eingesetzt habe .... und register_globals = On habe und .... :)

Ich danke Euch ... Ralph und Joerg ...

aber ... versprechen kann ich nix ... daß ich hier nicht wieder auftauch !
:)

Gruß und schönen Abend !
Gina

"Gina Meyer" schrieb im Newsbeitrag
news:f4iv79$g6u$03$1@news.t-online.com...
>
> Hallo ...
>
> Würde gerne meine Tutorial-Datenbank (aus Kapitel 1 & 2 des unten
stehenden
> Links) via einer Form updaten.
>
> http://www.dynamicwebpages.de/50.tutorials.php?dwp_tutorialI D=7&partNo=3
>
> Ich habe den Code direkt von der Seite kopiert ... bekomme auch die Namen
> als Links angezeigt ... - alles bestens soweit ...
> nur wenn ich dann einen Namen anklicke passiert nix.
>
> hatte schon Probleme mit Kapitel 2, wo ein INSERT via Form passieren
sollte
> ... konnte aber herausfinden woran es lag ... aber hier klappt das nicht
...
> meine Kennntnisse sind zu gering !
>
> Vielleicht kann mir jemand helfen, der die Seite kennt ....
> oder - was ganz toll wäre - hat mir jemand einen Link zu nem anderen
> Tutorial mit dem Thema ??
>
> TIA
> Gina
>
>

Re: Anfänger Probleme :( - Hurra :)

am 11.06.2007 20:32:22 von Joerg Behrens

Gina Meyer schrieb:
> hey ... es klappt ...
>
> nachdem ich - back to the basics :) ... wieder
>
> if ($id) {
> ...
> eingesetzt habe .... und register_globals = On habe und .... :)

*grummel*
*grummel*
*grummel*

Es heist nicht $id sondern $_GET['id'] wenn der Wert aus der URL kam.
Wenn es aus diversen Quellen kommen kann dann benutze bitte $_REQUEST['id'].

Du hattest doch mit var_dump dir die Inhalte angeschaut.... warum
benutzt du die dann nun nicht?

Hinzu kommt das du mit isset() guckent muss ob die Var auch da ist.

Gruss
Joerg

--
TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
HRB Wuerzburg 6940 http://www.takenet.de

Re: Anfänger Probleme :( - Hurra :)

am 11.06.2007 21:27:42 von rkhbng

Gina Meyer schrieb:
> hey ... es klappt ...
>
> nachdem ich - back to the basics :) ... wieder
>
> if ($id) {
> ...
> eingesetzt habe .... und register_globals = On habe und .... :)

Solange Du auf Deinem lokalen Computer übst, musst Du Dich nicht so sehr um
Sicherheit kümmern, aber behalte im Hinterkopf, dass diese Einstellung
brandgefährlich ist. Gegen böse Buben von außerhalb hilft ein "Listen
127.0.0.1:80" in der Apache-Konfigurationsdatei
(xampp\apache\conf\httpd.conf).

> Ich danke Euch ... Ralph und Joerg ...

Bitte gern geschehen. Danke für die Rückmeldung

viele grüße
ralph

Re: Anfänger Probleme :( - Hurra :)

am 12.06.2007 00:32:18 von Gina Meyer

Sorry .... ooh .. gleich ein dreifaches grummel ..

war jetzt nach Tagen einfach nur fürs erste froh das Dingesn mal zu sehen
....

"Joerg Behrens" schrieb im Newsbeitrag
news:5d5iprF3201qhU1@mid.individual.net...
> Gina Meyer schrieb:
> > hey ... es klappt ...
> >
> > nachdem ich - back to the basics :) ... wieder
> >
> > if ($id) {
> > ...
> > eingesetzt habe .... und register_globals = On habe und .... :)
>
> *grummel*
> *grummel*
> *grummel*
>
> Es heist nicht $id sondern $_GET['id'] wenn der Wert aus der URL kam.
> Wenn es aus diversen Quellen kommen kann dann benutze bitte
$_REQUEST['id'].

mit if($_GET[$id]){ .... ging nix ... obwohl die id aus der URL kommt
mit if($_REQUEST['id']) { ... klappt es und da versteh ich das nicht so
richtig mit den Quellen ...
.... aber da mach ich mir morgen separat nochmal Gedanken drüber

>
> Du hattest doch mit var_dump dir die Inhalte angeschaut.... warum
> benutzt du die dann nun nicht?

ja das habe ich: array(0) { } array(1) { ["id"]=> string(1) "1" }.. wie
meinst Du 'benutzen' ?
>
> Hinzu kommt das du mit isset() guckent muss ob die Var auch da ist.

hab ich gemacht ... if(isset($_POST['id'])){ ... und alles drin :)

Gruß
Gina

>
> Gruss
> Joerg
>
> --
> TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
> 97080 Wuerzburg Tel: +49 931 903-2243
> Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
> HRB Wuerzburg 6940 http://www.takenet.de

Re: Anfänger Probleme :( - Hurra :)

am 12.06.2007 00:36:56 von Gina Meyer

Ja ... als blutiger Anfänger mit webdev ....
werd ich wahrscheinlich noch ne Weile auf meinem PC hier üben ...

ganz sicher werd ich das im Hinterkopf behalten!!!

danke nochmals und ebenfalls viele Grüsse ...
Gina :)

"Ralph 'rkhb' Bauer" schrieb im Newsbeitrag
news:f4k7r4$dd$00$1@news.t-online.com...
> Gina Meyer schrieb:
> > hey ... es klappt ...
> >
> > nachdem ich - back to the basics :) ... wieder
> >
> > if ($id) {
> > ...
> > eingesetzt habe .... und register_globals = On habe und .... :)
>
> Solange Du auf Deinem lokalen Computer übst, musst Du Dich nicht so sehr
um
> Sicherheit kümmern, aber behalte im Hinterkopf, dass diese Einstellung
> brandgefährlich ist. Gegen böse Buben von außerhalb hilft ein "Listen
> 127.0.0.1:80" in der Apache-Konfigurationsdatei
> (xampp\apache\conf\httpd.conf).
>
> > Ich danke Euch ... Ralph und Joerg ...
>
> Bitte gern geschehen. Danke für die Rückmeldung
>
> viele grüße
> ralph
>

Re: Anfänger Probleme :( - Hurra :)

am 12.06.2007 06:02:41 von Norbert Melzer

Am Tue, 12 Jun 2007 00:32:18 +0200 schrieb Gina Meyer:

> mit if($_GET[$id]){ .... ging nix ... obwohl die id aus der URL kommt
^
> mit if($_REQUEST['id']) { ... klappt es und da versteh ich das nicht so
> richtig mit den Quellen ...
> ... aber da mach ich mir morgen separat nochmal Gedanken drüber

Das muss $_GET['id'] heißen in diesem Fall. Also mit Anführungszeichen
^ ^
(einfach oder doppelt)

HTH
Norbert

Re: Anfänger Probleme :( - Hurra :)

am 12.06.2007 07:22:27 von Gina Meyer

hast natürlich recht .... klar .... logisch !!!
und s'klappt jetzt auch ... mit $_GET['id'] ... denn es kommt ja aus der
URL

:) ... war viel auf einmal gestern ...
war (und bin!) einfach nur glücklich, daß es lief .... und ich die
Seite/Form sehen konnte ... nach mehreren Tagen Frustration

Gruß
Gina :)

"Norbert Melzer" schrieb im Newsbeitrag
news:120607.060241.dclpd.2.30.dlg@news.nobbz.de...
> Am Tue, 12 Jun 2007 00:32:18 +0200 schrieb Gina Meyer:
>
> > mit if($_GET[$id]){ .... ging nix ... obwohl die id aus der URL
kommt
> ^
> > mit if($_REQUEST['id']) { ... klappt es und da versteh ich das nicht
so
> > richtig mit den Quellen ...
> > ... aber da mach ich mir morgen separat nochmal Gedanken drüber
>
> Das muss $_GET['id'] heißen in diesem Fall. Also mit Anführungszeichen
> ^ ^
> (einfach oder doppelt)
>
> HTH
> Norbert