• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

apache und php

soap

Newbie
hallo, habe von suse 8.2 auf 9.1 gewechselt. leider funkt apache nicht mehr so wie vorher. daten die per post aus html-formularen an php-dateien gesendet werden kommen nicht mehr an. weiss jemand rat?
 

roemi

Advanced Hacker
das hat erstmal nichts mit suse oder linux zu tun.
besstenfalls mit deiner php/apache installation.
welche versionen verwendest du?
hast du irgendwelche einstellungen vorgenommen?
hast ein update oder eine neuinstallation gemacht usw.?

ein paar infos mehr wären schon nett.

grundsätzlich hat sich aber an der art der weitergabe nichts geändert.
schreib doch mal ein muster wie du die daten weiterreichts und wie du sie empfängst?
 
OP
S

soap

Newbie
Hier die Quellcodes:

<! von Oliver Seif, 28.01.02>
<html>
<head>
<title>
TelefonDatenBank v1.1.2
</title>
</head>
<body>
<body bgcolor=#000070 text=#f0f080>
<h2>Anfrage an perso3.dbf:</h2>

<form method=post action=tdb112.php >
<table border=1>
<tr>
<td>Vorname:</td>
<td><input type=text name=vorname></td>
</tr>
<tr>
<td>Name:</td>
<td><input type=text name=name></td>
</tr>
<tr>
<td align=center colspan=2>
<input type=image src="knopf.png" name="Anfrage stellen" value="Anfrage stellen">
</td>
</tr>
</table>
</form>
</body>
</html>


<! von Oliver Seif, 28.01.02>
<! fehlt noch: - leere Leute raus ?>
<! - sortieren optimieren (kein Bubblesort) ?>

<html>
<head>
<title>
TelefonDatenBank Ergebnisse v1.1.2
</title>
</head>
<body>
<body bgcolor=#000070 text=#f0f080>
<h2>Zugriff auf perso4.dbf ergab:</h2>

<script language="php">
print $vorname;
$db = dbase_open("perso4.dbf",0);
$namelength = strlen($name);
$vornamelength = strlen($vorname);
$laenge = $namelength + $vornamelength;
$zaehler = 0;
$recno = dbase_numrecords($db); // Anzahl Datensätze
print $recno;
print "*x ".$name." *";
$nf = dbase_numfields($db); // Anzahl Datenfelder
for ($j=1;$j<=$recno;$j++) {
$rec = dbase_get_record($db,$j);
// print $rec[0];
$compvorname = $rec[0];
$compname = $rec[1];
$equal = 0;
print $vorname[$j];
// print $rec[1];
for($i=0;$i<$vornamelength;$i++) {
print $compvorname[$i];
if($vorname[$i]==$compvorname[$i] or $vorname[$i]=="*") $equal++;
}
for($i=0;$i<$namelength;$i++) {
if($name[$i]==$compname[$i] or $name[$i]=="*") $equal++;
}
if($equal==$laenge) {
if($zaehler==0) {
print "<table border>\n";
print "<tr>";
print "<td><b>Vorname</b></td>";
print "<td><b>Name</b></td>";
print "<td><b>Telefon</b></td>";
print "<td><b>Handy</b></td>";
print "<td><b>Arbeit</b></td>";
print "</tr>\n";
}
$element[$zaehler][0]=$rec[0];
$element[$zaehler][1]=$rec[1];
$element[$zaehler][2]=$rec[2];
$element[$zaehler][3]=$rec[3];
$element[$zaehler][4]=$rec[9];
$zaehler++;
}
}

$trans=array("Ä"=>"Ae","Ö"=>"Oe","Ü"=>"Ue","ä"=>"ae","ö"=>"oe","ü"=>"ue");

for($i=0;$i<$zaehler;$i++) {
for($j=0;$j<5;$j++) {
$sortelem[$i][$j]=strtr($element[$i][$j],$trans);
}
}

for ($i=0;$i<$zaehler-1;$i++) {
for($j=0;$j<$zaehler-1-$i;$j++) {
if($sortelem[$j][1]>$sortelem[$j+1][1]) {
for($k=0;$k<5;$k++) {
$tempe[$k]=$element[$j][$k];
$temps[$k]=$sortelem[$j][$k];
}
for($k=0;$k<5;$k++) {
$element[$j][$k]=$element[$j+1][$k];
$sortelem[$j][$k]=$sortelem[$j+1][$k];
}
for($k=0;$k<5;$k++) {
$element[$j+1][$k]=$tempe[$k];
$sortelem[$j+1][$k]=$temps[$k];
}
}
if($sortelem[$j][1]==$sortelem[$j+1][1] and $sortelem[$j][0]>$sortelem[$j+1][0]) {
for($k=0;$k<5;$k++) {
$tempe[$k]=$element[$j][$k];
$temps[$k]=$sortelem[$j][$k];
}
for($k=0;$k<5;$k++) {
$element[$j][$k]=$element[$j+1][$k];
$sortelem[$j][$k]=$sortelem[$j+1][$k];
}
for($k=0;$k<5;$k++) {
$element[$j+1][$k]=$tempe[$k];
$sortelem[$j+1][$k]=$temps[$k];
}
}
}
}

for ($i=0;$i<$zaehler;$i++) {
print "<tr>";
for ($j=0;$j<5;$j++) {
$trimstr=trim($element[$i][$j]);
if(strlen($trimstr)==0) {
$element[$i][$j]=" ";
}
print "<td>".$element[$i][$j]."</td>";
}
print "</tr>\n";
}

if($zaehler==0) {
print "<table cellspacing=5>";
print "<tr><td align=center>";
print "<table border>";
print "<td align=center>";
print "<image src=\"ysela.png\">";
print "</td>";
print "</table>\n";
print "</tr><tr><td>";
print "Gibt es kein!";
print "</td>";
}
print "</table>\n";
// print "<br>";
// print(date("d m Y"));
</script>

</body>
</html>
 

roemi

Advanced Hacker
sorry soap,

gerade eben muss ich feststellen das nach einem update von php4 nix mehr funzt wie es soll.

localhost (apache2) geht. der rest nicht.

ich sehe zu das ich es zum rennen bekomme und dann melde ich mich sofort.
 
OP
S

soap

Newbie
Danke! Scheint zu gehen. :D Freu mich riesig! Die Frage nach dem Warum würde mich noch interessieren, wenn du's weisst behalt's nicht für dich.
 

roemi

Advanced Hacker
es geht auch $_Post[] (beides sind globale variable).

ein nettes beispiel

Code:
<?php
function test_global()
{
   // Die meisten vordefinierten Variablen sind nicht "super" und
   // benötigen 'global', um im lokalen Bereich von Funktionen zur
   // Verfügung zu stehen.
   global $HTTP_POST_VARS;

   echo $HTTP_POST_VARS['name'];

   // Superglobale stehen in jedem Bereich zur Verfügung und
   // benötigen kein 'global'. Superglobale stehen seit PHP 4.1.0
   // zur Verfügung.
   echo $_POST['name'];
}
?>

mehr dazu http://www.php.net/manual/de/index.php
 
soap schrieb:
hallo, habe von suse 8.2 auf 9.1 gewechselt. leider funkt apache nicht mehr so wie vorher. daten die per post aus html-formularen an php-dateien gesendet werden kommen nicht mehr an. weiss jemand rat?
Hab da noch cybermailer's uralt-post gefunden:

:arrow: http://www.linux-club.de/viewtopic.php?t=825&highlight=register_globals#3408

Ist zwar schon etwas angestaubt, beschreibt aber genau, warum dein Skript nicht mehr funktioniert. 8)

Für Sicherheitsaspekte :arrow: http://www.linux-club.de/viewtopic.php?t=16492&highlight=registerglobals beachten
 
Oben