URL: https://www.overclockers.at/coding-stuff/php-prob_mit_mehrmaligem_seitenaufruf_140706/page_1 - zur Vollversion wechseln!
Is ein eigentlich sehr einfaches News-Erstellen-Proggi, nur komm ich selber nicht mehr weiter:
Habe folgendes Problem: Egal, ob die Variable neu auf null, 1 oder sonstwas steht, immer komm ich in den else-Zweig.
Bitte ned flamen hab schon lang nicht mehr PHP programmiert.
2. Frage: Wie kann ich auf die Inhalte der Textfelder zugreifen?
Tia
Code: PHP<?php $conn = mysql_connect("localhost", "root",""); $sql = mysql_select_db("news",$conn); if(!empty($neu)) // Variable _neu_ bei OK auf 1 { $maxnr = "select max(NNr) from News"; $erg = mysql_query($maxnr); $erg = $erg + 1; $ins = "insert into News values(" . $erg . "," . "'2005-04-14'" . ", 'Test')"; $erg = mysql_query($ins); echo "<center><h2>News abgeschickt!</h2></center>"; $clickstr = "self.location.href='index.php'"; echo "<center><input type='submit' value='OK' onClick=" . $clickstr . "></center>"; } else { echo "<form method='post' action='write.php?neu=1'>"; // News ausfüllen echo "<center><h3> News verfassen</h3></center>\n\n"; echo "<center>Datum:</center>\n"; echo "<center>(Bsp. 2005-04-14)</center>\n"; echo "<center><input type='text' name='datum' size=28 value=></center>\n"; echo "<center>Nachricht:</center>\n"; echo "<center><textarea id='news' name='news' cols=32 rows=17 class='text'></textarea></center>"; echo "<center><input type='submit' name='Submit' value='OK'></center>"; echo "</form>"; } ?>
$_GET['neu'] ?
ich setz _neu_ im else-zweig und es gibt keine fehlermeldung.
Irgendwie geht die Überprüfung mit if(!empty($neu)) nicht imho.
Wie genau funktioniert $_GET[]? In den Dokus gibts das nicht einmal!
nimm statt empty einfach isset ...
das ganze mit dem erhöhen um 1 kannst einfach mit auto_increment der mysql db machen.
edit:
$_GET[] ist einfach ein array in dem alle variablen drinnen stehen, die per URL an das PHP Script übergeben werden ...
also index.php?id=1
dann in $_GET[id] 1 drinnen
isset is das gleiche problem wie empty! was hab i da für einen schmarrn gmacht?
stimmt. danke fürs auto_increment!
EDIT: mit $_GET würds funktionieren, nur bekomme ich jetzt: Notice: Use of undefined constant neu - assumed 'neu'.
PHP is zu lange her!
Schreibt statt $neu das von Spikx.
sollte man immer machen, wegen register_globals on/off
dann kann nix schief gehen (normalerweise)
wenn ich das 1. Mal aufruf existiert neu noch gar nicht. Dann kommt wieder eine Meldung, dass neu noch kein definierter Index ist und die Meldung von 2 Posts weiter oben.
Beim 2. Aufruf (if-Zweig) kommt wieder die Melung. Use of undefined constant neu - assumed 'neu'
??
In welcher Datei kann man eigentlich nochmal register_globals on/off stellen?
du sollst einfach nur
schreiben und nirgends $neu... $neu initialisiert du ja nirgendsCode: PHPif(isset($_GET['neu'])){
ich volldepp.
hab die '' vergessen.
Ganz liebes Danke und nochmal sorry wegen meiner Dummheit!
normalerweise sollt das eigentlich auch ohne '' gehen. aber hauptsache es funkt jetzt ^^
nein... außer du meinst das:Zitat von Maehmannnormalerweise sollt das eigentlich auch ohne '' gehen. aber hauptsache es funkt jetzt ^^
Code: PHP$neu = 'neu'; if(isset($_GET[$neu])){ ...
hmmm ... also ich hab immer gedacht man kann auch mit $blaa[test] auf array elemente zugreifen ...
Ich hab das auch fast überall so verwendet ... noch nie Probleme damit gehabt. Maybe einfach Glück ^^
wenn du $blaa[test]schreibst, glaubt php zuerst, daß die konstante test existiert und versucht sie auszuwerten. existiert sie nicht, nimmt es test als index. die meldung dazu erhält man nur, wenn man notices aktiviert.
i see ... besten dank
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025