PHP Version 4.3.3

L

Luxus_Hirsch

Mitglied
Thread Starter
Dabei seit
15.01.2005
Beiträge
75
Reaktionspunkte
0
Hi,

gibt es eine möglichkeit Apache auf die PHP Version 4.3.3 umzustellen?
Da ich auf meinem Server noch kein PHP 5 habe, und so meine Scripte nicht funktionieren.

MfG
 
Hat sich erledigt, habe die httpd.conf umgeändert.
 
Laut www.php.net ist die aktuelle Version für Version 4 die 4.3.1. Die aktuellen PHP-Versionen gibt es ganz offiziel von php.net angegeben unter:

http://www.entropy.ch/software/macosx/php/

Diese Versionen sind mit sehr vielen Modulen ausgestattet und bringen auch das aktuelle pear-Paket mit. Die Installation erfolgt nach /usr/local/php und beeinträchtigt so das laufende System nicht. Die httpd.conf wird bei der Installation angepaßt und erhält lediglich eine zusätzliche Include-Zeile. Ich kann diese Versionen sehr empfehlen.
 
psst du hast ne 0 vergessen ;)

aber wenn man fleissig os x updatet, dann ist die mit os x gelieferte php version schon 4.3.10
 
Ja hab jetzt die Version 4.3.10.

Habe noch ein generelles Problem mit allen Scripten die was in eine MySQL Datenbank eintragen sollen.
Auf dem PC laufen die ohne problem, nur leider auf dem Mac nicht.

Bsp:
PHP:
<html>
<head>
  <title>Listing 12.3: Benutzereingabe in Datenbank einfuegen</title>
</head>
<body>
<?php
if ( isset( $domain ) && isset( $geschlecht ) && isset( $domain ) )
    {
    // ‹berpruefe Benutzereingaben
    $dberror = "";
    $ret = in_db_einfuegen( $domain, $geschlecht, $mail, $dberror );
    if ( ! $ret )
        print "Fehler: $dberror<BR>";
    else
        print "Vielen Dank fuer die Daten";
    }
else    {
    ausgabe_formular();
    }

function in_db_einfuegen( $domain, $geschlecht, $mail, &$dberror )
    {
    $benutzer = "root";
    $passwort = "";
    $db = "testdb";
    $link =  mysql_pconnect( "localhost", $benutzer, $passwort );

    if ( ! $link )
        {
        $dberror = "Keine Verbindung zu MySQL server";
        return false;
        }
    if ( ! mysql_select_db( $db, $link ) )
        {
        $dberror = mysql_error();
        return false;
        }
    $anfrage = "INSERT INTO domains ( domain, geschlecht, mail ) 
    values( '$domain', '$geschlecht', '$mail' )";
    if ( ! mysql_query( $anfrage, $link ) )
        {
        $dberror = mysql_error();
        return false;
        }
    return true;
    }

function ausgabe_formular()
    {
    global $PHP_SELF;
    print "<form action=\"$PHP_SELF\" method=\"POST\">\n";
    print "<input type=\"text\" name=\"domain\"> ";
    print "Die von Ihnen gew¸nschte Domaine<p>\n";
    print "<input TYPE=\"text\" name=\"mail\"> ";
    print "Ihre Mail-Adresse<p>\n";
    print "<select name=\"geschlecht\">\n";
    print "\t<option value=\"F\"> weiblich\n";
    print "\t<option value=\"M\"> maennlich\n";
    print "</select>\n";
    print "<input type=\"submit\" value=\"submit!\">\n</form>\n";
    }
?>
</body>
</html>

Wenn man auf den Submit Knopf klickt, soll etwas in eine Datenbank engtragen werden, leider wird nur die Seite neu geladen. Sonst tut sich gar nix.
 
Damit das noch funktioniert, mußt Du in der PHP.ini den Eintrag

register globals= on

setzen. Das gilt aber als veraltet und unerwünscht. Mit dem Verfahren ist es nämlich leider möglich Variablen wie $domain oder $geschlecht von aussen mit der URL mitzugeben. Daher werden ab PHP4 Variablen über spezielle Server-Arrays übertragen:

$_POST['domain']
$_POST['geschlecht']

enthalten die Werte, die Du erwartest. Die erste Zeile muß also heißen:

PHP:
if ( isset( $_POST['domain'] ) && isset( $_POST['geschlecht'] ) && isset( $_POST['domain'] ) )


Mehr dazu gibt es bei PHP:

http://www.php.net/manual/en/language.variables.predefined.php
 
Vielen Dank.
Funktioniert prima.
 
Zurück
Oben Unten