PHP Anfängerkurs :-)

djjlx

---???---
ID: 62937
L
9 Mai 2006
599
21
HY!

Also ich hab mir nun eine PHP Buch gekauf um zu lernen aber ich steh jetzt an und komm nicht weiter beim kapitel Formulardaten auslesen

PHP:
<form> 
	Geben Sie bitte einen beliebigen text ein: <BR>
	<INPUT NAME="Text" SIZE="40"> 
</form>
<?PHP
		if (!empty($Text)){
		echo "Sie haben <B>$Text</B> eingegeben";
	}
?>
Das ist der Code
Eigentlich sollte wenn man im Textfeld was eingibt dann die meldung darunter erscheinen aber das tut sie nicht in der Url steht sie drinnen!

Was hab ich falsch gemacht?

LG

EDIT:
Neues Problem alles bei POST NUMMER 28
 
Zuletzt bearbeitet:
Was hab ich falsch gemacht?
Das falsche Buch gekauft - sorry.

Die Art und Weise, wie die übergebenen Variablen angesprochen werden, ist schon lange nicht mehr aktuell. Wie wahnsinn schon angedeutet hat, musst Du die Variablen anders ansprechen. Alles, was aus der URL kommt, ist per $_GET['variablen_name'] anzusprechen und alles, was aus Formularen kommt, die per POST die Daten übergeben, muss mit $_POST['variablen_name'] angesprochen werden.

Du könntest natürlich auch Deine php.ini bearbeiten, falls Du auf einem lokalen Server testet. Die Einstellung dazu ist register_globals und das müsste auf on. Dann kannst Du alles gemäß dem Buch abarbeiten. Aber ich würde Dir davon abraten und gleich die richtige Adressierung benutzen.
 
Also wäre dieser code korrekt oder?

PHP:
<form> 
	Geben Sie bitte einen beliebigen text ein: <BR>
	<INPUT NAME="Text" SIZE="40"> 
</form>
<?PHP
		if (!empty($_GET['Text'])){
		echo "Sie haben <B>$_GET['Text']</B> eingegeben";
	}
?>

Nur dann kommt folgender fehler

Code:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

LG
 
Du kannst $_GET['Text'] nicht einfach so in einem String verwenden, da PHP das nicht korrekt parsen kann. Dir bleiben dafür 2 Möglichkeiten:
  1. Du schliesst den String vor der Variablen und öffnest ihn danach wieder:
    PHP:
    echo "Sie haben <B>".$_GET['Text']."</B> eingegeben";
  2. Du markierst die Variable im String so, dass PHP sie erkennt:
    PHP:
    echo "Sie haben <B>{$_GET['Text']}</B> eingegeben";
Welche von beiden Varianten Du wählst, bleibt Dir überlassen.
 
Hallo!

Neue Frage!

Ich habs nun geschafft das ich ein Formular erstellt habe wo man die daten eingabe macht dann auf weiter klickt und dort auf der nächsten seite steht alles. So nun zu meiner frage:

wie kann man das machen wenn der User zb. eine Postleitzahl eingibt und auf der Auswertungsseite kommt dann die eingegebene PLZ und daneben den Namen der Ortschaft.

Ich hab jetzt eine SQL Datenbank angelegt mit zwei Tabellen
in der ersten steht die PLZ in der zweiten der Name der Ortschaft

Kann man das irgenwie abgleichen? das dann automatisch der name daneben steht?

Hoffenlich hab ich mich halbwegs verständlich ausdrücken können! :-?

LG
 
lege nur eine tabelle an und erstelle 2 spalten mit plz und wohnort.

Danach kannst du einfach den wert abfragen.

PHP:
$muh = mysql_query('SELECT plz,wohnort FROM $tabelle WHERE plz='".$_POST['plz']."' ");



echo $_POST['plz'];
echo "-";
echo $muh['wohnort'];
 
So damit ichs versteh!

PHP:
<? $muh = mysql_query('SELECT plz,wohnort FROM $tabelle WHERE plz='".$_POST['plz']."' ")



echo $_POST['plz']; 
echo "-"; 
echo $muh['wohnort'];  
?>

1 Zeile:
Heißt soviel wie
nimm den wohnort wo die PLZ steht

5 Zeile:
Schreibt die eingegebene PLZ

6 Zeile:
????

7 Zeile:
der befehl das die erste zeile hier geschrieben wird

Hab ich das so richtig verstanden?

LG
 
Kann mir vielleicht einer deutlich machen wasd diese fehlermeldung heißt

Warning: mysql_query(): Access denied for user: 'root@localhost' (Using password: NO) in /usr/wwwroot

Was heißt Using password:NO????

Danke

LG
 
Das hab ich eingetragen!

PHP:
     $Host = "localhost";
	$Name = "xxxxxx";
	$Kennwort = "xxxxxxx";
	$dbase = "xxxxx";

$sql = mysql_connect($Host,$Name,$Kennwort);

Warum wird dann das Pw nicht mit übergeben?

LG
 
Ich schätze mal du nutzt lt. Buch xampp oder?? Wenn ja als pw machst einfach $pw = '';

Weil xampp im Standart als root kein pw vergeben hat.

btw. Wenn das im ersten Post wirklich so in deinem Buch stand kannst es eigentlich gleich wegwerfen weil es veraltet ist.
 
$Host = "localhost";
$Name = "xxxxxx";
$Kennwort = "xxxxxxx";
$dbase = "xxxxx";

$sql = mysql_connect($Host,$Name,$Kennwort);

Ich frage nun mal vorsichtshalber *g*. Hast du als Kennwort etc etc 'xxxxxx' eingegeben?
Natürlich musst du deine Daten dort eintragen... ;-)
 
btw. Wenn das im ersten Post wirklich so in deinem Buch stand kannst es eigentlich gleich wegwerfen weil es veraltet ist.

hrm... hat sich ja alles total geändert, angefangen von der syntax, den befehlen und den logischen aufbau. :doh: nur weil dort die übergebenen variablen per super globals angesprochen werden heißt das nicht dass das komplette buch nutzlos ist. was hat sich schon seit anfang php4 und php5 so extrem geändert, was für ein anfänger interessant sein könnte... mir fallen spontan nur das session handling und ebend die super globals ein. aber ja ab in den müll damit... :ugly:

@caschti84 tztztz... das ist quatsch. für ort und plz nimmst du in dem fall eigentlich 2 tabellen, redundanz ist böse :ugly: aber für nen anfänger zur vereinfachung ok... joins sind auch schon wieder nen großes thema.
btw dein php code ist falsch... da fehlt mindestens nen mysql_fetch_assoc oder was in der art.
 
Naja so krass hatte ich das nicht gemeint auch wenns so klingt aber du siehst ja was bei rauskommt. Vom syntax und den Befehlen her ok das gibt es wenig Porbleme, aber wenn man jetzt anfängt zu lernen dann kaufe ich mir doch ein PHP 5 buch wo der jetzige Standart drinsteht mit den aktuellen syntaxen und hintergundwissen warum man Superglobals nehmen soll. Ist ja nur meine Meinung must sie ja nicht teilen. ;)
 
MOrgen!

Also ich dache mir ich kaufe das PHP4 Buch da der server PHP 4 version ist

Was hats da nun mit xampp auf sich?

Ich denke mir halt das ich der db auch mitteilen muss was was ist oder?
Nur wie mach ich das?

LG
 
Zuletzt bearbeitet: