Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Problem bei einem Anfängerscript [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Problem bei einem Anfängerscript


 
wurzelchensen
14-02-2008, 16:10 
 
Hallo Forum,

zwei Probleme hab ich in meinem kleinen Script:

1. Ich will ein Dollarzeichen mit "echo" ausgeben ...

2. Ich möchte, sobald jemand in meinem Dropdown-Menü (id="m1") etwas auswählt, dass diese Auswahl augenblicklich weiter unten ausgegeben wird. Nach dem Textfeld (<input type="text" name="c" id="c" tabindex="5" />) siehe Switch-Anweisung.

Hier der Quelltext:
<body>
<div class="rahmen">
<div class="titel">
<h1>dreisatzillator</h1>
</div>
<div class="abstand"></div>
<div class="main">
<form id="form" name="form" method="post" action="dreisatzillator.php">
<input name="a" type="text" id="a" tabindex="1" value="" />
<select name="m1" id="m1" tabindex="2">
<option value="CHF">CHF</option>
<option value="€">€</option>
<option value="$">$</option>
<option value="l">l</option>
<option value="km">km</option>
<option value="m">m</option>
<option value="t">t</option>
<option value="kg">kg</option>
</select>
entspricht
<input type="text" name="b" id="b" tabindex="3" />
<select name="m2" id="m2" tabindex="4">
<option value="CHF">CHF</option>
<option value="€">€</option>
<option value="$">$</option>
<option value="l">l</option>
<option value="km">km</option>
<option value="m">m</option>
<option value="t">t</option>
<option value="kg">kg</option>
</select>
<p>wie viel entspricht</p>
<p>
<input type="text" name="c" id="c" tabindex="5" />
<?php
// hier ist die Switchanweisung welche $_POST['m1'] ausgeben soll,
// sobald beim Menü m1 etwas verändert wird
switch ($_POST['m1'])
{
case CHF:
echo "CHF";
break;
case €:
echo "€";
break;
//hier gibts probleme mit dem Dollarzeichen!
/*case $:
echo "$";
break;*/
case l:
echo "l";
break;
case km:
echo "km";
break;
case m:
echo "m";
break;
case t:
echo "t";
break;
case kg:
echo "kg";
break;
}
?>
<p>
<input type="submit" name="submit" id="submit" value="Antwort" tabindex="6" />
</p>
</form>
<div class="antwort">
<?php
// Berechnung und Ausgabe der Antwort
if ($_POST)
{
$antwort = $_POST['b'] * $_POST['c'] / $_POST['a'];
$dieAntwortlautet = 'die Antwort lautet:';
print "$dieAntwortlautet ";
print "$antwort ";
print $_POST['m2'];
}
?>
</div>
</div>
<div class="abschluss">© by me</div>
</div>
</body>

Bin gespannt auf eure Antworten.

lg

Wurzelchensen

 
Kropff
14-02-2008, 16:14 
 
dass diese Auswahl augenblicklich weiter unten ausgegeben wird
das geht aber nur mit javascript.

gruß
peter

 
H2O
14-02-2008, 16:17 
 
[list=1]
maskier das Zeichen mit \$ oder setze es in einfache Anführungszeichen '$'
Da setzst du im <select>-Tag ein onchange='js-function()' und rufst damit die entsprechende JavaScript-Funktion auf. Mit PHP geht das nicht, da dieses bekannterweise auf dem Server ausgeführt wird und dazu das Formular zuerst abgeschickt werden müsste.
[/list=1]

 
jahlives
14-02-2008, 16:31 
 
Zu 2): Schau dir mal AJAX an...

 
wurzelchensen
14-02-2008, 16:39 
 
Original geschrieben von H2O
[list=1]
maskier das Zeichen mit \\$ oder setze es in einfache Anführungszeichen '$'
Da setzst du im <select>-Tag ein onchange='js-function()' und rufst damit die entsprechende JavaScript-Funktion auf. Mit PHP geht das nicht, da dieses bekannterweise auf dem Server ausgeführt wird und dazu das Formular zuerst abgeschickt werden müsste.
[/list=1]
Alles klar, ich hatte ja auch so was wie onload/onchange im Kopf aber hab bei den PHP-Funktionen gesucht :grin:

Werde das anschauen ...

Danke für alle weiteren Antworten. Werde mir alles anschauen ...

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:19 Uhr.