Ausgabe funktioniert nicht mehr. – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self?srt=yes Ausgabe funktioniert nicht mehr. Thu, 12 Oct 06 22:55:44 Z https://forum.selfhtml.org/self/2006/oct/13/ausgabe-funktioniert-nicht-mehr/1033320?srt=yes#m1033320 https://forum.selfhtml.org/self/2006/oct/13/ausgabe-funktioniert-nicht-mehr/1033320?srt=yes#m1033320 <p>Hallo liebe SelfHTML Forum User,</p> <p>ich habe mir ein PHP-Script gebastelt, welches Informationen aus einer Datenbank holt und im HTML Formular anzeigt. Damit er weiss welche Informationen dargestellt werden soll, übergebe ich eine array_id mit get.<br> Nur irgendwie funktioniert das nicht mehr.</p> <p>Quelltext:</p> <p><html><br> <head><br>   <title>Besser Karstadt - Zeiterfassung</title><br>   <link rel="stylesheet" href="css/styles.css" type="text/css"><br>   <link rel="SHORTCUT ICON" href="img/karstadt_logo.gif"><br>   <meta name="author" content="AG03_OSZIMT"><br> </head></p> <p><body></p> <p><div id="banner"><br> <img src="img/karstadt_logo.gif" alt="Karstadt-Logo"><br> </div></p> <p><div id="navi"><br> <p><img src="img/verwaltung_logo.jpg" alt="" class="bildnavi"><a href="verwaltung.html">Verwaltung</a></p><br> <p><img src="img/mitarbeiter_logo.jpg" alt="" class="bildnavi"><a href="mitarbeiter.html">Mitarbeiter</a></p><br> </div></p> <p><div id="inhalt"></p> <p><?php</p> <p>$host     = "localhost";<br> $user     = "projektoszimt";<br> $password = "projektoszimt3";<br> $db       = "projektoszimt";<br> $table    = "T_Mitarbeiter";</p> <p>$array_id = $_GET[array_id];</p> <p>$dblink = @mysql_connect($host,$user,$password);<br>    if (!$dblink) die ("Verbindung zur Datenbank ist nicht möglich.".mysql_error());<br>    @mysql_select_db($db) or die ("Auswahl der DB '$db' nicht möglich.".mysql_error());</p> <p>$abfrage = "SELECT * FROM T_Mitarbeiter WHERE Mitarbeiter_ID ='.$array_id.' LIMIT 0, 30 ";<br>    $ergebnis = mysql_query($abfrage,$dblink);<br>    $row = mysql_fetch_object($ergebnis);<br>    $name = $row->Name;<br>    $vorname = $row->Vorname;<br>    $teamnummer = $row->Teamnummer;<br>    $filiale = $row->Filiale;<br>    $sollstunden = $row->Sollstunden;</p> <p>?></p> <p><form action="mitarbeiter_edit_db.php" method="post"><br> Name:<br> <input name="NAME" value="<?php echo $row->Name ?>" size="" maxlength="" type="text"><br></p> <p>Vorname:<br>   <input name="VORNAME" value="<?php echo $vorname ?>" size="" maxlength="" type="text"><br></p> <p>Teamnummer:<br>   <input name="TEAMNUMMER" value="<?php echo $teamnummer ?>" size="" maxlength="" type="text"><br></p> <p>Filiale: <input name="FILIALE" value="<?php echo $filiale ?>" size="" maxlength="" type="text"><br></p> <p>Sollstunden:<input name="SOLLSTUNDEN" value="<?php echo $sollstunden ?>" size="" maxlength="" type="text"><br></p> <p><br></p> <p><input value="&Auml;nderungen eintragen" type="submit"><br> </form></p> <p></div></p> <p><div id="unten"><br> <img src="img/oszimt-logo.gif" alt=""> &copy;<br> FS491 - AG03<br> </div></p> <p></body><br> </html></p> <p>Hat einer ne Idee ?</p> Ausgabe funktioniert nicht mehr. Thu, 12 Oct 06 23:21:59 Z https://forum.selfhtml.org/self/2006/oct/13/ausgabe-funktioniert-nicht-mehr/1033322?srt=yes#m1033322 https://forum.selfhtml.org/self/2006/oct/13/ausgabe-funktioniert-nicht-mehr/1033322?srt=yes#m1033322 <p>hallo Paul,</p> <blockquote> <p>Nur irgendwie funktioniert das nicht mehr.<br> Hat einer ne Idee ?</p> </blockquote> <p>Ja. Wenn es "nicht mehr" funktioniert, braucht man nicht deinen ganzen schönen Quelltext, sondern die Fehlerausgabe, an der du bemerkt hast, daß da irgendwas nicht funktioniert. Wie lautet also diese Fehlermeldung?</p> <p>Grüße aus Berlin</p> <p>Christoph S.</p> <div class="signature">-- <br> <a href="http://community.de.selfhtml.org/visitenkarten/view.php?key=26" rel="nofollow noopener noreferrer">Visitenkarte</a><br> ss:| zu:) ls:& fo:) va:) sh:| rl:| </div> Ausgabe funktioniert nicht mehr. Thu, 12 Oct 06 23:38:48 Z https://forum.selfhtml.org/self/2006/oct/13/ausgabe-funktioniert-nicht-mehr/1033321?srt=yes#m1033321 https://forum.selfhtml.org/self/2006/oct/13/ausgabe-funktioniert-nicht-mehr/1033321?srt=yes#m1033321 <p>n'abend,</p> <blockquote> <p>Nur irgendwie funktioniert das nicht mehr.</p> </blockquote> <p>Informationen bzgl. was du geändert hast, dass es "irgendwie nicht mehr funktioniert" sind ab und an doch hilfreich.</p> <p>Hier mal ein paar Hinweise:</p> <pre><code class="block language-php"><span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token comment">/* * an deiner Stelle würde ich umgehend meine MySQL-Zugangsdaten ändern * und in Zukunft nicht mehr in irgendwelchen Foren veröffentlichen. * Selbst wenn besagter Benutzer nur von localhost zugreifen kann, * will man Informationen wie diese *nie* preisgeben. */</span> <span class="token variable">$host</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"localhost"</span><span class="token punctuation">;</span> <span class="token variable">$user</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"projektoszimt"</span><span class="token punctuation">;</span> <span class="token variable">$password</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"projektoszimt3"</span><span class="token punctuation">;</span> <span class="token variable">$db</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"projektoszimt"</span><span class="token punctuation">;</span> <span class="token variable">$table</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"T_Mitarbeiter"</span><span class="token punctuation">;</span> <span class="token comment">/* * ist array_id deiner Meinung nach eine Konstante? nein? Wieso behandelst * du den String 'array_id' dann nicht als solchen? */</span> <span class="token variable">$array_id</span> <span class="token operator">=</span> <span class="token variable">$_GET</span><span class="token punctuation">[</span>array_id<span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token comment">// falsch! </span> <span class="token variable">$array_id</span> <span class="token operator">=</span> <span class="token variable">$_GET</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'array_id'</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token comment">// richtig! </span> <span class="token comment">/* * $array_id ist eine zahl? dann möchtest du bitte sicherstellen, dass array_id auch tatsächlich eine Zahl ist: * $array_id = intval( $array_id ); */</span> <span class="token variable">$dblink</span> <span class="token operator">=</span> @<span class="token function">mysql_connect</span><span class="token punctuation">(</span><span class="token variable">$host</span><span class="token punctuation">,</span><span class="token variable">$user</span><span class="token punctuation">,</span><span class="token variable">$password</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span><span class="token variable">$dblink</span><span class="token punctuation">)</span> <span class="token keyword">die</span> <span class="token punctuation">(</span><span class="token string double-quoted-string">"Verbindung zur Datenbank ist nicht möglich."</span><span class="token operator">.</span><span class="token function">mysql_error</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> @<span class="token function">mysql_select_db</span><span class="token punctuation">(</span><span class="token variable">$db</span><span class="token punctuation">)</span> <span class="token keyword">or</span> <span class="token keyword">die</span> <span class="token punctuation">(</span><span class="token string double-quoted-string">"Auswahl der DB '<span class="token interpolation"><span class="token variable">$db</span></span>' nicht möglich."</span><span class="token operator">.</span><span class="token function">mysql_error</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">/* * Um evtl. Sicherheitslücken vorzubeugen, solltest du sehr genau darauf * achten, was du in deine Queries wirfst! * ausserdem solltest du " und ' nicht durcheinander bringen! Diese Query wird _so_ jedenfalls nicht durch den SQL-Parser kommen. */</span> <span class="token variable">$abfrage</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"SELECT * FROM T_Mitarbeiter WHERE Mitarbeiter_ID ='.<span class="token interpolation"><span class="token variable">$array_id</span></span>.' LIMIT 0, 30 "</span><span class="token punctuation">;</span> <span class="token comment">/* * mysql_real_escape_string() nimmt dir das Prüfen der Inhalte von Variablen auf evtl. Manipulationsversuche ab. * Auch Zahlen dürfen in MySQL-Queries in Anführungszeichen gesetzt werden (müssen es aber nicht!) */</span> <span class="token variable">$abfrage</span> <span class="token operator">=</span> <span class="token string single-quoted-string">'SELECT * FROM T_Mitarbeiter WHERE Mitarbeiter_ID =\''</span><span class="token operator">.</span> <span class="token function">mysql_real_escape_string</span><span class="token punctuation">(</span><span class="token variable">$array_id</span><span class="token punctuation">)</span> <span class="token operator">.</span><span class="token string single-quoted-string">'\' LIMIT 0, 30 '</span><span class="token punctuation">;</span> <span class="token variable">$ergebnis</span> <span class="token operator">=</span> <span class="token function">mysql_query</span><span class="token punctuation">(</span><span class="token variable">$abfrage</span><span class="token punctuation">,</span><span class="token variable">$dblink</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$row</span> <span class="token operator">=</span> <span class="token function">mysql_fetch_object</span><span class="token punctuation">(</span><span class="token variable">$ergebnis</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">/* * wozu machst du diese Zuweisungen, wenn du sie später gar nicht einsetzt? */</span> <span class="token variable">$name</span> <span class="token operator">=</span> <span class="token variable">$row</span><span class="token operator">-></span><span class="token property">Name</span><span class="token punctuation">;</span> <span class="token variable">$vorname</span> <span class="token operator">=</span> <span class="token variable">$row</span><span class="token operator">-></span><span class="token property">Vorname</span><span class="token punctuation">;</span> <span class="token variable">$teamnummer</span> <span class="token operator">=</span> <span class="token variable">$row</span><span class="token operator">-></span><span class="token property">Teamnummer</span><span class="token punctuation">;</span> <span class="token variable">$filiale</span> <span class="token operator">=</span> <span class="token variable">$row</span><span class="token operator">-></span><span class="token property">Filiale</span><span class="token punctuation">;</span> <span class="token variable">$sollstunden</span> <span class="token operator">=</span> <span class="token variable">$row</span><span class="token operator">-></span><span class="token property">Sollstunden</span><span class="token punctuation">;</span> <span class="token delimiter important">?></span></span> </code></pre> <p>weiterhin schönen abend...</p> <div class="signature">-- <br> wer braucht schon großbuchstaben?<br> sh:( fo:# ch:# rl:° br:> n4:& ie:{ mo:} va:) de:] zu:} fl:{ ss:? ls:[ js:| </div> Ausgabe funktioniert nicht mehr. Fri, 13 Oct 06 08:53:40 Z https://forum.selfhtml.org/self/2006/oct/13/ausgabe-funktioniert-nicht-mehr/1033323?srt=yes#m1033323 https://forum.selfhtml.org/self/2006/oct/13/ausgabe-funktioniert-nicht-mehr/1033323?srt=yes#m1033323 <p>Guten Morgen,</p> <p>ich danke euch für eure hilfreichen Tipps.<br> Der Fehler lag an der SQl-Abfrage, da ich die Doppelten Hochkommas, mit den einfachen gemixt habe.</p> <p>DANKE.</p>