Wie bekomme ich die Variablen-Fehler weg (PHP)?

...komplette Frage anzeigen

4 Antworten

    if(mysql_num_rows($einlesen1)==1)  goto ja1;        else goto end1;


und im hinter "ja1" wird die Variable $_daten erst angelegt. Will heißen, wenn du zu end1 springst, dann gibt es $_daten nicht. Genau diese Variable willst du aber ein paar Zeilen später anzeigen, nämlich hier:
<input name="aufgabe" value="<?php echo $_daten['Aufgabe']; ?>" <?php echo $i1; ?>><br>


Das ist das Problem, was du beheben musst. Daneben:
- weg mit dem goto! Das macht deinen Code erst schwer verständlich. In deinem Fall wäre eine Variante ohne goto sogar kürzer... so könnte das, was du machen willst, in richtig aussehen (ungetestet!).

if(mysql_num_rows($einlesen1)==1) {$_sql = "SELECT * FROM User_Aufgaben WHERE UserID='".mysql_real_escape_string($_GET['id']) . "' AND Slot=1 AND Status!='deleted' AND Status!='finished'";    $_resultat = mysql_query($_sql);    $_daten = mysql_fetch_array($_resultat, MYSQL_ASSOC);}else {$_daten = "";}$i1 = 1;


- die neuen mysql-Befehle solltest du bald nutzen wollen, weil es ein Sicherheitsrisiko ist. Die PHP-Entwickler denken sich schon was dabei, wenn sie die auf "deprecated" setzen. - Alter Programmierindianer-Weisheit: wenn du Code kopieren und leicht verändert wieder einfügen musst, dann machst du sehr wahrscheinlich irgendwas falsch. In deinem Falle könnte man die Sloterzeugung in eine Funktion auslagern, die nur noch die ID übergeben bekommt und daraus das Formularelement zusammenbastelt.
Antwort bewerten Vielen Dank für Deine Bewertung
MinecrafterPG 28.04.2016, 16:37

Danke, für dieses gute Lösung!

0

Dein Code ist sehr unstrukturiert und teilweise "veraltet" (deprecated).

session_start() sollte immer ganz am Anfang des Codes stehen!

mysql_ Funktionen und MYSQL_ASSOC sind veraltet (deprecated) , lieber mysqli nutzen!

lass das GOTO hin und her "ge-eiere"...lieber den Code vernünftig strukturieren - eigene Funktionen erstellen.

Antwort bewerten Vielen Dank für Deine Bewertung
MinecrafterPG 27.04.2016, 13:38

Okay session_start() steht jetzt am Anfang und ich möchte aber weiter die "alte" Variante von MYSQL benutzen. Wie bekomme ich jetzt aber die Fehler weg?

0

Ist mir zu viel & zu schlecht strukturierter Code. Vermutlich ist das Problem trivial. Versuche es einzugrenzen dann kann ich dir gerne helfen aber ich investiere jetzt keine 10 oder mehr Minuten um einen trivialen Fehler zu finden.

Antwort bewerten Vielen Dank für Deine Bewertung

Das dürften keine Fehler sein, sondern nur Notices. Kannst über das error reporting level abschalten.

Antwort bewerten Vielen Dank für Deine Bewertung
MinecrafterPG 26.04.2016, 15:15

Und diese komischen Einträge in dem Textfeld?

0

Was möchtest Du wissen?