Xampp 1.5.1 Fehler im PHP???

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Xampp 1.5.1 Fehler im PHP???

Postby luke7479 » 18. January 2006 17:25

Hi, hab schon gesucht wie ein wilder, hab aber nichts gefunden, oder hab einfach nach dem falschen Begriff gesucht?!?

Ich hab den Xampp 1.5.1 auf 2 Rechnern installiert um ganz sicher zu gehen, dass es nicht am Rechner liegt. Bei mir zu Hause klappt es aber (Xampp 1.5.0)

Ich hab ein Skript, dass ein paar Variablen übergeben soll, per method="post". Ich hab mittlerweile das php skript so geändert, dass er mir nur die Variablen anzeigen soll, via print, aber er zeigt mir rein garnix an, nur eine weiße Seite.

In der Konfiguration hab ich garnichts geändert. Und die error.log hilft mir auch nicht weiter.

Weiß vielleicht jemand von Euch Rat?

Ich Danke im Vorraus.
luke7479
 
Posts: 8
Joined: 18. January 2006 17:00

Re: Xampp 1.5.1 Fehler im PHP???

Postby Demetry » 18. January 2006 22:30

luke7479 wrote:Hi, hab schon gesucht wie ein wilder, hab aber nichts gefunden, oder hab einfach nach dem falschen Begriff gesucht?!?

Ich hab den Xampp 1.5.1 auf 2 Rechnern installiert um ganz sicher zu gehen, dass es nicht am Rechner liegt. Bei mir zu Hause klappt es aber (Xampp 1.5.0)

Ich hab ein Skript, dass ein paar Variablen übergeben soll, per method="post". Ich hab mittlerweile das php skript so geändert, dass er mir nur die Variablen anzeigen soll, via print, aber er zeigt mir rein garnix an, nur eine weiße Seite.

In der Konfiguration hab ich garnichts geändert. Und die error.log hilft mir auch nicht weiter.

Weiß vielleicht jemand von Euch Rat?

Ich Danke im Vorraus.


Ein Code-Auszug könnte vielleicht sehr hilfreich sein!
Demetry
 
Posts: 79
Joined: 19. July 2005 22:39
Location: Germany
Operating System: Windows 7 / 8.1

Postby meiling » 19. January 2006 12:20

Hallo,

Schau mal in der PHP_INFO() ob Register_global deakt. ist...

Wenn ja, wird es warscheinlich daran liegen...

Suche dir die richtige php.ini (davon gibt es denke ich 3, da in xampp mehrere PHP Versionen sind ; mach das am besten in jeder) und aktiviere register_global ("On")...

MME
meiling
 
Posts: 26
Joined: 10. January 2006 19:00
Location: MD

Postby Demetry » 19. January 2006 13:17

meiling wrote:Hallo,

Schau mal in der PHP_INFO() ob Register_global deakt. ist...

Wenn ja, wird es warscheinlich daran liegen...

Suche dir die richtige php.ini (davon gibt es denke ich 3, da in xampp mehrere PHP Versionen sind ; mach das am besten in jeder) und aktiviere register_global ("On")...

MME


In XAMPP 1.5.1 (mit PHP 5.1.1) sollte standardmäßig globals auf ON stehen.
Demetry
 
Posts: 79
Joined: 19. July 2005 22:39
Location: Germany
Operating System: Windows 7 / 8.1

Postby Wiedmann » 19. January 2006 13:20

In XAMPP 1.5.1 (mit PHP 5.1.1) sollte standardmäßig globals auf ON stehen.

Warum?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby meiling » 19. January 2006 13:26

Hallo,

also als ich am Wochenende ein neues xampp (1.5.1) aufgesetzt habe, war register_global deakt. Zusätzlich waren die Rechte für .htaccess (ist für diesen Post wohl er nebensächlich) so eingeschrängt, das ich mit diesen nicht arbeiten konnte...

Das ganze hat mir am Wochenende 1 Stunde Fehlersuche und ein Post in diesem Forum gekostet, da ich davon ausgegangen bin, das dies schon, wie in den letzten Versionen (jedenfalls in der, die ich früher drauf hatte), aktiviert war...

luke7479: Versuche es einfach mal mit meiner Lösung... Kostet ja fast nichts (außer Zeit)... Wenns nicht funkt können wir ja weiter nachdenken...

MME
meiling
 
Posts: 26
Joined: 10. January 2006 19:00
Location: MD

Postby Wiedmann » 19. January 2006 13:34

also als ich am Wochenende ein neues xampp (1.5.1) aufgesetzt habe, war register_global deakt.

Das gehört ja auch so (deaktiviert).

Zusätzlich waren die Rechte für .htaccess (ist für diesen Post wohl er nebensächlich) so eingeschrängt, das ich mit diesen nicht arbeiten konnte

Das ist ein Fehler im Release.

das dies schon, wie in den letzten Versionen (jedenfalls in der, die ich früher drauf hatte), aktiviert war...

Ich weis, der XAMPP war/ist zum Teil sehr nachlässig konfiguriert (gewesen)...
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby meiling » 19. January 2006 13:50

Sicherlich geht das auch ohne reg.._globals...

Aber wenn man, wie das leider die meisten machen, die keine Anhnung vom Programmieren haben bzw. noch nie eine andere Programmiersprache gesehen haben folgendermaßen macht:

Seite1: <a href="seite.php?id=2">Zur Seite 2</a>
Seite2: <?echo $seite2;?>

dann geht das nicht ohne register_globals...

Mann muss dabei beachten, das es immer Menschen geben wird, denen egal ist, wie etwas funkt.... Hauptsache es funkt...

Die übergeben (bzw. übernehmen) dann die Variablen nicht richtig. Die deklarieren ihre Variablen nicht usw...

Jedes "PHP ScriptKid" der eine andere Programmiersprache wie Delphi, C++ oder Java lernen möchte (eigentlich fast egal welche Sprache), wird schnell feststellen, das es so nicht geht...

Das war jetzt allerdings auf keinen von uns bezogen sondern nur das, was ich denke...

MME
meiling
 
Posts: 26
Joined: 10. January 2006 19:00
Location: MD

Postby Wiedmann » 19. January 2006 14:08

Aber wenn man, wie das leider die meisten machen, die keine Anhnung vom Programmieren haben bzw. noch nie eine andere Programmiersprache gesehen haben folgendermaßen macht:

Die wo keine Ahnung haben oder es gerade erst lernen, kommen ja nicht umhin überhaupt erst einmal ins PHP-Manual oder ein gekauftes Handbuch zu schauen. Und dort geht man selbstverständlich, in den Anleitungen und Beispielen, immer von "register_globals = off" aus.

Und gerade für Änfänger ist es wirklich schlecht sich das mit "off "anzugewöhnen weil es zufällig auf einem Server tut.

Ein Fortgeschrittener kann sich das ja einstellen wie er möchte. (Und da dieses "Problem" ja schon ein Klassiker/Oldie ist, sollte dieser die Ursache ja auch sofort kennen ;-) ).
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby meiling » 19. January 2006 14:37

Wiedmann wrote:Die wo keine Ahnung haben oder es gerade erst lernen, kommen ja nicht umhin überhaupt erst einmal ins PHP-Manual oder ein gekauftes Handbuch zu schauen. Und dort geht man selbstverständlich, in den Anleitungen und Beispielen, immer von "register_globals = off" aus.

Und gerade für Änfänger ist es wirklich schlecht sich das mit "off "anzugewöhnen weil es zufällig auf einem Server tut.


Genau... Da kann ich nur zustimmen... Allerdings muss man grade bei PHP sagen (da es sich ja um eine relativ schnell zu lernende Sprache handelt) das es ebend eine menge "Programmierer" gibt, die einfach drauf los programmieren ohne wirklich zu wissen, was, wie passiert... Die wissen unter umständen nicht einmal, das man normalerweise Variablen dekla. Man könnte fast sagen, das PHP dem Prog. zu viele Freiheiten bietet (auch wenn man das in der Conf. deakt. kann). Ich Entwickle die meisten Programme mit C++. Da kann man z.B. keine Variablen undekl. lassen.

Wiedmann wrote:Ein Fortgeschrittener kann sich das ja einstellen wie er möchte. (Und da dieses "Problem" ja schon ein Klassiker/Oldie ist, sollte dieser die Ursache ja auch sofort kennen ;-) ).


Stimmt auch... Wenn aber viele verschiedene Probleme auf einmal zusammen treffen, ist das manschmal gar nicht so einfach...

Ich muss eigentlich sagen, das ich Grundsatzdisk. in einem Post hasse... Aber hier ließ es sich leider nicht vermeiden... Da du Admin dieses Forums bist, müsste es dir genauso gehen.. :-)

Was mich am meisten Interessiert ist, ob das Problem behoben wurde...

MME
meiling
 
Posts: 26
Joined: 10. January 2006 19:00
Location: MD

Postby luke7479 » 21. January 2006 11:58

Halli hallo, hallöle.

Erstmal danke, für die Zahlreichen Lösungsvorschläge.

Ich hatte Berufsschule und bin erst am Montag wieder auf der Arbeit. Werds dann direkt ma ausprobieren und den Status mitteilen.

Ihr habt mich erwischt.^^
Ich bin blutiger Anfänger und deswegen verstell ich garnet erst so viel in der config. Hab Angst diverse Lücken aufzureißen, wobei es bei dem Server mittelmässig egal wär..

P.s.: Ich fand die Grundsatzdiskussion sehr interessant. (Kann man auch draus lernen)

<!--Edit-->

Hab mir den Apache grad zu Hause drauf geschmissen, damit ich testen kann. Hier hab ich genau das gleich Problem. Hab mein Skript jetzt mit Hilfe komplett fertig gemacht und auf meinem Server funzt es auch wunderbar.

Hab "register_global" in allen drei php.ini's auf "On" gestellt, hat aber leider nix genutzt.

anruf.php
Code: Select all
<html>
 <head><title>Anrufliste</title><head>
 <body>
 <table align="center" cellspacing="0" cellpadding="0" border="1" width="80%">
 <tr>
 <td bgcolor="#ece9d8"><font color="black">Datum (J-M-T)</td>
 <td bgcolor="#ece9d8"><font color="black">Art der Mitteilung</td>
 <td bgcolor="#ece9d8"><font color="black">Betreff</td>
 <td bgcolor="#ece9d8"><font color="black">Name</td>
 <td bgcolor="#ece9d8"><font color="black">Austragen</td>
 </tr>
 <?php

 $host = "localhost";
 $user = "root";
 $pw = "smbdt_67";
 $db = "anrufe";

 
 $link = mysql_connect($host,$user,$pw)
     or die ("Database problem. Please try again".mysql_error());

     mysql_select_db($db,$link)
     or die ("Database problem. Please try again".mysql_error());

 If ((isset($_GET['action'])) AND ($_GET['action'] == "delete")) {
   $id = $_GET['ID'];
   $res = mysql_query("DELETE FROM liste where ID = '$id'");
   print("<meta http-equiv=\"refresh\" content=\"2;URL=anruf.php\">");
 }
else {     
 $res = mysql_query("SELECT * FROM liste ORDER BY name ASC");
 
 while ($ligne = mysql_fetch_array($res))
 {
     print "<tr>";
     print "<td>".$ligne['date']."</td>";
     print "<td>".$ligne['art']."</td>";
     print "<td>".$ligne['betreff']."</td>";
     print "<td>".$ligne['name']."</td>";
     print "<td><a href=\"anruf.php?action=delete&ID=".$ligne['ID']."\">Eintrag löschen</a></td>";
     print "</tr>";
 }
}
 ?>
 </table>
<br>&nbsp;<br>
<hr noshade width="100%" size="3" color="#ece9d8">

<form action="ajoutimp.php" method="post">
<table align="center">
   <tr>
      <td align="center"><b>Name:</b></td>
      <td align="center"><b>Art der Mitteilung:</b></td>
      <td align="center"><b>Betreff:</b></td>
   </tr>
   <tr>
       <td><input type="radio" name="name" value="Andreas"> Andreas<br>
                   <input type="radio" name="name" value="Petra"> Petra<br>
                   <input type="radio" name="name" value="Sascha"> Sascha<br>
                   <input type="radio" name="name" value="Julian"> Julian</td>
      <td><input type="radio" name="art" value="Anruf"> Anruf<br>
                   <input type="radio" name="art" value="Mitteilung"> Mitteilung</td>
      <td align="center"><textarea name="betreff" rows="4" cols="40"></textarea></td>
   </tr>
   <tr>
      <td colspan="3" align="center"><input type="submit" name="valider" value="Eintragen"></td>
   </tr>
</table>
</form>
</body>
</html>


ajoutimp.php
Code: Select all
<html>
 <head><title>Anrufliste</title><head>
 <body>
 <?php
 $host = "localhost";
 $user = "root";
 $pw = "smbdt_67";
 $db = "anrufe";

 
 $link = mysql_connect($host,$user,$pw)
     or die ("Database problem. Please try again".mysql_error());

     mysql_select_db($db,$link)
     or die ("Database problem. Please try again".mysql_error());
     
 $continu=1;
 if ($name == "")
 {
 print("Wie heißt du denn?<br>");
 $continu=0;
 }
 if ($continu == 1)
 {
 $date=date("Y-m-d");
 $sql = "INSERT INTO liste (date, art, betreff, name) VALUES ('$date', '$art', '$betreff', '$name')";
 mysql_query($sql) OR die(mysql_error());
 print("<meta http-equiv=\"refresh\" content=\"2;URL=anruf.php\">");
 }
 else
 {
 print("<a href=anruf.php>Zur&uuml;ck</a>");
 }
 ?>
</body>
</html>


Vielleicht hilft Euch das ja ein wenig. Ich weiß keinen Ansatz. :(
Danke nochmal.
luke7479
 
Posts: 8
Joined: 18. January 2006 17:00

Postby meiling » 24. January 2006 11:26

Hallo,

so... Ich habe mal noch eine Frage:
Wenn du das Formular absendest (anruf.php), Lädt die Seite ajoutimp.php, die das ganze in eine SQL DB schreiben soll.

Und das funzt. nicht oder was?

Mach mal: auf der Seite "ajoutimp.php" "echo $betreff;" und schreibe, was passiert...

Dann ändere die übergebenden Variablen zu $_POST[""]; (so wie du es auf "anruf.php", jetzt nur ebend mit POST :-)

Ich konnte es leider nicht testen, da ich noch nicht zu Hause bin und auf Arbeit unseren Indianer nicht mit außerbetrieblichen Angelegenheiten stören darf...

Biss dann
MME
meiling
 
Posts: 26
Joined: 10. January 2006 19:00
Location: MD

Postby luke7479 » 24. January 2006 13:09

Versteh das bitte nicht falsch, aber das brauch ich nicht probieren. Hab ich nämlich schon. War meine erste Idee.

Er übergibt keine Variable. Quasi krieg ich bei dem "echo" nix! Nur eine weiße Seite. Und in dem Quelltext selbiger Seite steht auch nix drin. (Eigentlich logisch, aber kann ja sein, dass da mit den Farben ma was verkehrt läuft)

Ich hab das jetz in der Firma am laufen. Hab den Apache 1.5.0 installiert, hab ihn zum Glück noch im Netz gefunden. Ist aber trotzdem ein Lösenswertes Problem denk ich.
luke7479
 
Posts: 8
Joined: 18. January 2006 17:00

Postby meiling » 24. January 2006 14:06

Hast du es auch schon mit $_POST[""] versucht?
meiling
 
Posts: 26
Joined: 10. January 2006 19:00
Location: MD

Postby luke7479 » 24. January 2006 14:16

Macht das denn so einen Unterschied?!? Klappt aber leider auch net. Oder hab ich nur falsch geschrieben?

Code: Select all
<?php
$_POST["name"]
?>


2.ter Versuch
Code: Select all
<?php
$_POST["$name"]
?>
luke7479
 
Posts: 8
Joined: 18. January 2006 17:00

Next

Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 11 guests