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
  #16 (permalink)  
Alt 18-06-2007, 12:01
RanzigeMilch
 Registrierter Benutzer
Links : Onlinestatus : RanzigeMilch ist offline
Registriert seit: May 2005
Ort: Darmstadt
Beiträge: 757
RanzigeMilch ist zur Zeit noch ein unbeschriebenes Blatt
RanzigeMilch eine Nachricht über ICQ schicken
Standard

ich helf die mal bei problem 1 und 2 (3 ist lediglich der Grund für 1) auf die sprünge:

1) ist klar weil du das formular abschickst.
und solange du nach dem neuladen des formulars nicht etwas vorselektierst wird da immer der erste eintrag in der selectbox stehen.

2)tjo der erste eintrag ist ausgewählt wenn nichts anderes vorselektiert ist.
Und da onChange "beim Ändern" bzw. "nach dem Ändern" bedeutet passiert nichts wenn du den ausgewählten eintrag (nämlich den ersten) anklickst...

Jetzt wirst du sagen hey ich habe doch eine funktion die das vorselektieren soll....
Zitat:
gebe ich den Parameter manuell in die Adresszeile des Browsers ein, klappt es)
könnte es möglicherweise sein das dein Formular nicht per post versendet wird (was auch deinen undefined index erklären würde)
__________________
Die Milch bleibt ranzig!
Mit Zitat antworten
  #17 (permalink)  
Alt 18-06-2007, 13:16
andi234
 Newbie
Links : Onlinestatus : andi234 ist offline
Registriert seit: Jul 2006
Beiträge: 25
andi234 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Arg, ich hab doch tatsächlich vergessen method="post" im Formular anzugeben und wundere mich dann warum der Turnierteil nicht übergeben wird...ok, vielen Dank - jetzt bin ich einen Schritt weiter.

Der code sieht also jetzt so aus:

PHP-Code:
echo '<form action="tippen.php" name="formular" method="post"> 
<p><select size="1" name="turnierteil" onchange="document.formular.submit()" width="250">'



$sql="SELECT turnierteilID, turnierteil FROM turnierteile"
$ergebnis mysql_query($sql); 
while(
$row mysql_fetch_object($ergebnis)) { 
    echo 
"<option"
   if (
$row->turnierteilID == isset($_POST['turnierteil']) ? $_POST['turnierteil'] : 0){
        echo 
' selected'
    } 
    echo 
' value="' $row->turnierteilID '">'$row->turnierteil '</option>'

echo 
'</select></p></form><br />'
Bleiben jetzt eigentlich nur noch zwei Probleme:

1)
Wenn das Formular angewählt wird, habe ich wohl immernoch keinen turnier-Index, sprich ich bekomme die gleiche Fehlermeldung wie anfangs. Erst wenn ich die Select-box betätige, wird über das Formular der turnierteil übertragen und es funktioniert. Deshalb habe ich versucht eine Vorbelegung über

PHP-Code:
if ($turnierteil == "")
{
$turnierteil 0;

einzubauen, was das Problem aber leider nicht behoben hat. Ich bekomme dabei in der Zeile "if ($turnierteil == "")" die Meldung "Undefined Index turnierteil"

2)
Die Box wählt zwar die richtigen Datensätze aus und ich kann jetzt auch den ersten Eintrag anwählen, aber als aktueller Eintrag wird in der Textbox trotzdem die Beschriftung meines letzten turnierteils angezeigt (passiert immer, außer beim ersten turnierteil)

Geändert von andi234 (18-06-2007 um 13:20 Uhr)
Mit Zitat antworten
  #18 (permalink)  
Alt 18-06-2007, 13:22
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von andi234
Wenn das Formular angewählt wird, habe ich wohl immernoch keinen turnier-Index,
Natürlich nicht, woher denn auch?
Zumal du dann noch nicht mal Daten in $_POST haben dürftest, Methode zum Aufrufen der Formularseite wird ja wohl GET sein.
Zitat:
Erst wenn ich die Select-box betätige, wird über das Formular der turnierteil übertragen und es funktioniert. Deshalb habe ich versucht eine Vorbelegung über

PHP-Code:
if ($turnierteil == "")
{
$turnierteil 0;

einzubauen, was das Problem aber leider nicht behoben hat.
Natürlich nicht.

Du greifst immer noch auf eine Variable zu, die nicht definiert ist.
isset/empty nutzen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #19 (permalink)  
Alt 18-06-2007, 13:33
andi234
 Newbie
Links : Onlinestatus : andi234 ist offline
Registriert seit: Jul 2006
Beiträge: 25
andi234 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von wahsaga
Natürlich nicht, woher denn auch?
Zumal du dann noch nicht mal Daten in $_POST haben dürftest, Methode zum Aufrufen der Formularseite wird ja wohl GET sein.

...ich hab ja im Formular auch method="post" geschrieben, also muss ich die Variablen ja auch mit POST abfangen - und ob ich hier grundsätzlich GET oder POST dürfte doch fast egal sein. Müsste ja zumindest mit beidem gehen.


Zitat:
Original geschrieben von wahsaga
Natürlich nicht.

Du greifst immer noch auf eine Variable zu, die nicht definiert ist.
isset/empty nutzen.
Hab es jetzt mit

PHP-Code:
if (empty($turnierteil)) {
$turnierteil 0;

versucht, klappt aber auch nicht :-(
Mit Zitat antworten
  #20 (permalink)  
Alt 18-06-2007, 13:45
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von andi234
...ich hab ja im Formular auch method="post" geschrieben, also muss ich die Variablen ja auch mit POST abfangen - und ob ich hier grundsätzlich GET oder POST dürfte doch fast egal sein. Müsste ja zumindest mit beidem gehen.
Du hast den Einwand nicht verstanden.

Wie rufst du denn die Seite, auf der sich das Formular befindet, erstmals auf?


Zitat:
Hab es jetzt mit
PHP-Code:
if (empty($turnierteil)) {
$turnierteil 0;

versucht, klappt aber auch nicht :-(
Wozu soll denn das auch gut sein?

Der Wert, von dem du nicht weisst, ob er übergeben wurde, und dessen Existenz du also abfragen möchtest, hört auf die Bezeichnung $_POST['turnierteil'].
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #21 (permalink)  
Alt 19-06-2007, 11:32
andi234
 Newbie
Links : Onlinestatus : andi234 ist offline
Registriert seit: Jul 2006
Beiträge: 25
andi234 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@wahsaga

Ah, jetzt weiß ich was Du meinst. Ich werd mal versuchen beim Aufruf per Parameter einen Anfangswert mitzugeben - kann nur grad aufgrund anderer "technischer Probleme" :-) nicht weiterarbeiten. Ich melde mich auf jeden Fall nochmal wie es ausgegangen ist, bzw. wenn ich doch noch Probleme damit habe, kann aber bisserl dauern.

Vielen Dank jedenfalls schonmal an euch alle für die Hilfe & Geduld!!
Mit Zitat antworten
  #22 (permalink)  
Alt 19-06-2007, 11:37
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von andi234
Ah, jetzt weiß ich was Du meinst. Ich werd mal versuchen beim Aufruf per Parameter einen Anfangswert mitzugeben
Falls du einen GET-Parameter im URL meinst - nein, das war nicht gemeint ...
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #23 (permalink)  
Alt 20-06-2007, 13:42
andi234
 Newbie
Links : Onlinestatus : andi234 ist offline
Registriert seit: Jul 2006
Beiträge: 25
andi234 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

sorry, dass ich mich erst jetzt wieder einschalte, aber wegen eines Serverumzugs hat sich das alles etwas verzögert.


Zitat:
Original geschrieben von wahsaga
Falls du einen GET-Parameter im URL meinst - nein, das war nicht gemeint ...
Dann hab ich Dich wohl (mal wieder) falsch verstanden. Mein nächster Versuch wäre dann es so zu machen:

PHP-Code:
$turnierteil $_POST['turnierteil'];
if (empty(
$turnierteil)) {
$turnierteil 1;
}

echo 
'<form action="test.php" name="formular" method="POST"> 
<p><select size="1" name="turnierteil" onchange="document.formular.submit()" width="250">'



$sql="SELECT turnierteilID, turnierteil FROM turnierteile"
$ergebnis mysql_query($sql); 
while(
$row mysql_fetch_object($ergebnis)) { 
    echo 
"<option"
   if (
$row->turnierteilID == isset($_POST['turnierteil']) ? $_POST['turnierteil'] : 1){
        echo 
' selected'
    } 
    echo 
' value="' $row->turnierteilID '">'$row->turnierteil '</option>'

echo 
'</select></p></form><br />'

EDIT:
Ich bekomme aber weiterhin die Meldung bzgl. der turniernummer beim ersten Ausführen der Selectbox. Und der aktuelle Eintrag in der Selectbox stimmt natürlich auch noch nicht (die richtigen Datensätze werden aber angezeigt). Als aktueller Eintrag wird in der Selectbox immer der letzte (in meinem Fall mit der höchsten Turnierteilnummer) angezeigt.

Geändert von andi234 (20-06-2007 um 13:46 Uhr)
Mit Zitat antworten
  #24 (permalink)  
Alt 20-06-2007, 13:59
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von andi234
PHP-Code:
$turnierteil $_POST['turnierteil'];
if (empty(
$turnierteil)) {
$turnierteil 1;

Hier ist wieder bereits die erste Zeile die, in der du auf eine möglicherweise nicht definierte Variable zugreifst - also bekommst du dann natürlich auch hie rbereits wieder die Meldung.
Erst in der nächsten Zeile irgendwas abzufragen, ist als blödsinnig.

Noch mal: Mach dir klar, welcher Wert es ist, der möglicherweise nicht vorhanden ist. Dann frage diesen auf Existenz ab, bevor du auf ihn zugreifst.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #25 (permalink)  
Alt 20-06-2007, 14:05
kuddeldaddeldu
 Registrierter Benutzer
Links : Onlinestatus : kuddeldaddeldu ist offline
Registriert seit: Sep 2006
Beiträge: 437
kuddeldaddeldu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

wozu sind die ersten Zeilen überhaupt noch gut, wenn Du die Variable $turnierteil jetzt gar nicht mehr verwendest? Sieht mir nach Herumgestocher aus. Ansonsten siehe wahsaga.

Wenn Du den Fehler weg hast und die Vorselektion immer noch nicht passt, dann bau Testausgaben in die Schleife.

LG
Mit Zitat antworten
  #26 (permalink)  
Alt 20-06-2007, 14:09
andi234
 Newbie
Links : Onlinestatus : andi234 ist offline
Registriert seit: Jul 2006
Beiträge: 25
andi234 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@wahsaga

Ah, danke - ich glaube jetzt hab ich Dich endlich verstanden :-)

Mit
PHP-Code:
if (isset($_POST['turnierteil'])) $turnierteil $_POST['turnierteil'];
if (empty(
$turnierteil)) {
$turnierteil 1;

Erscheint jetzt auch die "Undefined Index" - Fehlermeldung nicht mehr.

Jetzt hab ich eigentlich nur noch das Problem, dass mir in der Select-Box nicht der wirkliche aktuelle Eintrag, sondern immer nur der letzte, angezeigt wird.
Mit Zitat antworten
  #27 (permalink)  
Alt 20-06-2007, 14:25
andi234
 Newbie
Links : Onlinestatus : andi234 ist offline
Registriert seit: Jul 2006
Beiträge: 25
andi234 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo kuddeldaddeldu

Danke für den Hinweis - hab $turnierteil jetzt in die while-Schleife (siehe unten) gebaut, damit das Abfragen am Anfang auch Sinn macht...


Zitat:
Original geschrieben von kuddeldaddeldu


Wenn Du den Fehler weg hast und die Vorselektion immer noch nicht passt, dann bau Testausgaben in die Schleife.

LG

Hab ich grad versucht, aber ich bekomme hierbei meine Testmeldungen nicht ausgegeben:

PHP-Code:
$sql="SELECT turnierteilID, turnierteil FROM turnierteile"
$ergebnis mysql_query($sql); 
while(
$row mysql_fetch_object($ergebnis)) { 
    echo 
"<option"
   if (
$row->turnierteilID == isset($turnierteil)){
        echo 
' selected'
    } 
    echo 
' value="' $row->turnierteilID '">'$row->turnierteil '</option>'
  echo 
"aktuelle turnierteilID: ";
  echo 
$row->turnierteilID;

echo 
'</select></p></form><br />'
seltsam...und

PHP-Code:
echo '<pre>';
print_r($turnierteil);
echo 
'</pre>'
hab auch nicht geklappt...

Geändert von andi234 (20-06-2007 um 14:29 Uhr)
Mit Zitat antworten
  #28 (permalink)  
Alt 20-06-2007, 14:33
kuddeldaddeldu
 Registrierter Benutzer
Links : Onlinestatus : kuddeldaddeldu ist offline
Registriert seit: Sep 2006
Beiträge: 437
kuddeldaddeldu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,
Zitat:
Hab ich grad versucht, aber ich bekomme hierbei meine Testmeldungen nicht ausgegeben:
Heisst, Deine Selectbox wird auch nicht gefüllt? Dann die DB-Abfrage debuggen.
PHP-Code:
if ($row->turnierteilID == isset($turnierteil)){ 
Och man, jetzt denk doch mal nach, bevor Du irgendwas hin- und herkopierst (Herumgestocher). Was liefert isset? Du willst doch mit dem Inhalt von $turnierteil vegleichen.
Mit Zitat antworten
  #29 (permalink)  
Alt 20-06-2007, 14:38
andi234
 Newbie
Links : Onlinestatus : andi234 ist offline
Registriert seit: Jul 2006
Beiträge: 25
andi234 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Juhuuuuuuu, jetzt klappt es!!! Na klar, das isset muss weg...weiß garnicht mehr warum das da reingekommen ist, ist ja völliger Blödsinn so!

Naja, bin jedenfalls froh, dass es nach 5 Tagen Rumbasteln jetzt endlich funktioniert!!

Vielen, vielen Dank für euere Hilfe!!!! (und Geduld *g*)

Schönen Tag noch!!
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

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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
jQuery Mobile ansehen jQuery Mobile

Touch-Optimized Web Framework für Smartphones & Tablets

09.12.2018 phpler | Kategorie: AJAX/ Framework
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:07 Uhr.