PHP-Prob mit mehrmaligem Seitenaufruf
LakeBodom 14.04.2005 - 14:46 556 13
Bodominjaervi
OC Addicted
|
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 <?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>";
}
?>
Bearbeitet von Bodominjaervi am 14.04.2005, 15:25
|
Spikx
My Little Pwny
|
$_GET['neu'] ?
|
Bodominjaervi
OC Addicted
|
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!
|
Maehmann
OC Addicted
|
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
|
Bodominjaervi
OC Addicted
|
isset is das gleiche problem wie empty! was hab i da für einen schmarrn gmacht? stimmt. danke fürs auto_increment! ![:)](/images/smilies/smile.gif) EDIT: mit $_GET würds funktionieren, nur bekomme ich jetzt: Notice: Use of undefined constant neu - assumed 'neu'. PHP is zu lange her!
Bearbeitet von Bodominjaervi am 14.04.2005, 15:06
|
Maehmann
OC Addicted
|
Schreibt statt $neu das von Spikx. sollte man immer machen, wegen register_globals on/off dann kann nix schief gehen (normalerweise)
|
Bodominjaervi
OC Addicted
|
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?
|
Spikx
My Little Pwny
|
du sollst einfach nur if(isset($_GET['neu'])){
schreiben und nirgends $neu... $neu initialisiert du ja nirgends
|
Bodominjaervi
OC Addicted
|
ich volldepp.
hab die '' vergessen.
Ganz liebes Danke und nochmal sorry wegen meiner Dummheit!
|
Maehmann
OC Addicted
|
normalerweise sollt das eigentlich auch ohne '' gehen. aber hauptsache es funkt jetzt ^^
|
Spikx
My Little Pwny
|
normalerweise sollt das eigentlich auch ohne '' gehen. aber hauptsache es funkt jetzt ^^ nein... außer du meinst das: $neu = 'neu';
if(isset($_GET[$neu])){ ...
|
Maehmann
OC Addicted
|
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 ^^
|
kleinerChemiker
Here to stay
|
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.
|
Maehmann
OC Addicted
|
i see ... besten dank
|